Project Settings

Apart from global settings which are applied to the whole workspace, it is possible to adjust the settings of a separate project. To do this, select Properties from the project menu or use hotkey (Alt + Enter by default), then select pgCodeKeeper.

Project main settings

_images/main_props.png
  • Disable SQL parser for unrelated files opened in SQL Editor allows disabling pgCodeKeeper builder of the project files, which are beyond standard directories. This disables the search for errors and object references within these files.

  • Use Unix-style newline characters allows to use Unix hyphens in lines, for example, in function bodies, object commentaries etc.

  • Bind project to database connection - allows binding a project to a specific DB. It will be impossible to change DB to Eclipse tool bar for this project.

  • Timezone for all DB connections allows selecting, which time zone to use when connecting to databases. Not included for MS SQL projects.

  • Enable project specific settings — allows overriding some pgCodeKeeper basic settings for the current project. The set of available settings may vary depending on the project type.

  • Use global ignore list - allows enabling/disabling the usage of a global list of differences from the settings page Ignored objects.

Ignore Lists

Settings managing the lists of ignored files for current project. A detailed description of work with the lists see in Ignore List.

_images/ignore_props.png

Edit .pgcodekeeperignore allows changing the default ignored file located in the project’s root.

To add an existing file, click add_obj.

To delete a file, click delete.

To create a new file, click new_file. The list of rules editor will open, similar to the one on the Ignored objects global settings page.

_images/ignore_editor.png

To edit a file, click editor_area. The editor of list of rules from current file will open.

Ignored schemas

Settings that regulate the uploading of objects from the database. See the Ignoring schemas when downloading section for more details.

_images/ignored_schemas.png

Click add_obj to add a new object. A new object editor will open.

To delete an object, click delete.

To edit an object, click the editor_area button.

Library dependences

Settings managing project libraries.

_images/lib_props.png

Libraries are plugged-in sets of object data which are “glued” with project objects during the comparison with the remote database. Directories (a regular directory with files as well as another pgCodeKeeper project), dumps or remote databases can serve as libraries. Besides, you can compress libraries into a zip-archive, upload them to a server and connect them by specifying the archive’s URL. To add libraries, use corresponding buttons on the side panel.

The libraries are loaded in the order in which they are indicated on the list (the topmost library will be loaded first). To change the order, use the mouse to drag the required elements.

Disallow overrides. There might be a situation when a project and a library (or two libraries) contain objects with the same names. There are two ways of processing such situations. When this settings is on, such conflicts will cause the object comparison to stop. When it’s off, it will allow you to ignore the conflicts: the first loaded object will be used. Regardless of the state of the settings, the Object’s dependency tree view will be displayed, showing all the conflicts.

Load nested dependencies is a setting that allows loading libraries referred to by other libraries (recursive loading of libraries). The library containing dependencies should be in the form of a project (or project archive) and contain the .dependencies file, which contains the dependencies of this library.

In general, to load the library dependencies, a container of this library should have the loadNested setting in the .dependencies file enabled. For example, in the following dependencies chain: project → lib1 → lib2 → lib3, to load lib2, the setting should be enabled in project, and to load lib3, the setting should be enabled both in project and lib1.

Clear libraries cache - allows to delete the downloaded archives from the cache.

Dialog window of creating/editing/copying the library dependency looks as follows.

_images/lib_props_editor.png
  • Name - allows to specify the library name that is going to be displayed (default name is Path).

  • Path - allows to specify the library’s source (supports relative paths).

  • Owner - allows setting a new owner for all the objects in the library.

  • Ignore privileges/owners - allows to disable privileges and owners of a library dependency objects.

Important

If a library already has an owner, this information will be displayed regardless of other pgCodeKeeper settings.

Important

If a library doesn’t ignore privileges, they will be displayed regardless of other pgCodeKeeper settings.

DB update

Settings that manage the database update and allow overriding some settings from the DB update page for the current project. The set of available settings may vary depending on the project type.

_images/db_update_props.png

Project Structure

Settings for mapping object types to their directories for the current project.

_images/project_structure.png

Split objects by schema — determines whether to group objects within the project by schemas.

Important

This page is read-only. Use Project Normalization to change the structure.

Additional Dependencies

Settings for manually specifying implicit dependencies between objects.

_images/additional_dependencies.png

To add a dependency, click the add_obj button — the dialog window will open.

_images/new_additional_dependency.png

Select the source and receiver types, fill in the object names, then click OK.

To delete a dependency, click the delete button.

To edit a dependency, click the editor_area button.