Project structure
Проект PostgreSQL по-умолчанию имеет следующую структуру:
.
├─ EXTENSION
└─ SCHEMA
├─ schema_name
├─ ...
└─ another_schema_name
├─ another_schema_name.sql
├─ DOMAIN
├─ FTS_CONFIGURATION
├─ FTS_DICTIONARY
├─ FTS_PARSER
├─ FTS_TEMPLATE
├─ FUNCTION
├─ OPERATOR
├─ PROCEDURE
├─ SEQUENCE
├─ STATISTICS
├─ TABLE
│ └─ table_name.sql
├─ TYPE
│ └─ type_name.sql
└─ VIEW
└─ view_name.sql
schema_name … another_schema_name - schema names.
another_schema_name.sql - an obligatory file with schema definition, the name should be identical to the directory name.
table_name.sql, type_name.sql, view_name.sql - files with objects’ definition. The names are specified without schema names.
all the overloaded functions are stored in a single file. For example, the functions public.func(int) and public.func(text) will be located in SCHEMA/public/FUNCTION/func.sql.
definition of indexes, constraints, triggers and rules are located in the files of parent objects. For example, index public.ii for the public.t1 table will be located in SCHEMA/public/TABLE/t1.sql.
Проект MS SQL по-умолчанию имеет следующую структуру:
.
├─ Assemblies
├─ Functions
├─ Security
│ ├─ Roles
│ ├─ Schemas
│ │ └─ schema_name.sql
│ └─ Users
├─ Sequences
├─ Stored Procedures
├─ Tables
│ └─ schema_name.table_name.sql
├─ Types
│ └─ schema_name.type_name.sql
└─ Views
└─ schema_name.view_name.sql
schema_name.sql - an obligatory file with schema definition.
schema_name.table_name.sql, schema_name.type_name.sql, schema_name.view_name.sql - files with object definitions объектов. Names are specified with the schema name.
definitions of indexes, constraints, triggers are located in the files of parent objects. For example, index dbo.ii for the dbo.t1 table will be located in Tables/dbo.t1.sql.
Проект ClickHouse по-умолчанию имеет следующую структуру:
.
├─ DATABASE
│ └─ database_name
│ ├─ database_name.sql
│ ├─ TABLE
│ │ └─ table_name.sql
│ ├─ DICTIONARY
│ │ └─ dictionary_name.sql
│ └─ VIEW
│ └─ view_name.sql
├─ FUNCTION
│ └─ function_name.sql
├─ POLICY
│ └─ policy_name.sql
├─ USERS
│ └─ user_name.sql
└─ ROLE
└─ role_name.sql
database_name.sql - an obligatory file with schema definition, the name should be identical to the directory name.
table_name.sql, dictionary_name.sql, view_name.sql - files with objects’ definition. The names are specified without schema names in the directory of a corresponding database.
function_name.sql, policy_name.sql, user_name.sql, role_name.sql - files with objects’ definition.
definitions of indices and constraints are located in the files of parent objects. For example, the check_t1 constrain for the default.t1 table will be located in DATABASE/default/TABLE/t1.sql
Кроме этого в проекте могут содержаться следующие директории и файлы:
Директория MIGRATION содержит сохраненные скрипты миграции. Автоматическое сохранение и удаление скриптов миграции в данной директории можно выбрать на странице настроек DB update.
Директория OVERRIDES содержит файлы переопределения свойств объектов. Внутренняя структура данной директории дублирует структуру проекта. Сохранить переопределения свойств возможно, выбрав соответствующую опцию при сохранении объектов в проект. На данный момент поддерживается переопределение привилегий и владельцев объектов базы данных.
Директория .settings содержит настройки проекта.
Файл .dependencies хранит список библиотек в виде XML-файла. Редактируется через настройки проекта.
Файл .pgcodekeeper является маркером проекта pgCodeKeeper.
Файл .pgcodekeeperdependencies содержит неявные зависимости объектов. Редактируется через настройки проекта.
Файл .pgcodekeeperignore содержит правила игнорирования объектов. Подробное описание работы со списками находится в разделе Ignore List. Редактируется через настройки проекта.
Файл .pgcodekeeperignoreschema содержит правила игнорирования схем. Подробное описание работы находится в разделе Ignoring schemas when downloading. Редактируется через настройки проекта.
Файл .project является маркером проекта Eclipse.
Файл structure.properties хранит структуру проекта. Редактируется через Нормализацию проекта.