{"id":27050483,"url":"https://github.com/cleaning-corp/db","last_synced_at":"2025-04-10T22:48:40.340Z","repository":{"id":286109482,"uuid":"960375968","full_name":"cleaning-corp/DB","owner":"cleaning-corp","description":"БД  для клининговой компании: учёт заказов, клиентов, сотрудников и т.д.","archived":false,"fork":false,"pushed_at":"2025-04-08T12:15:42.000Z","size":40,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-10T22:48:36.411Z","etag":null,"topics":["database","plpgsql","postgresql","relational-databases","sql","sql-schema"],"latest_commit_sha":null,"homepage":"","language":"SQL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cleaning-corp.png","metadata":{"files":{"readme":"docs/README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-04-04T10:26:45.000Z","updated_at":"2025-04-08T12:15:46.000Z","dependencies_parsed_at":"2025-04-09T17:46:01.429Z","dependency_job_id":null,"html_url":"https://github.com/cleaning-corp/DB","commit_stats":null,"previous_names":["cleaning-corp/db"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cleaning-corp%2FDB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cleaning-corp%2FDB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cleaning-corp%2FDB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cleaning-corp%2FDB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cleaning-corp","download_url":"https://codeload.github.com/cleaning-corp/DB/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248312197,"owners_count":21082637,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","plpgsql","postgresql","relational-databases","sql","sql-schema"],"created_at":"2025-04-05T08:16:36.945Z","updated_at":"2025-04-10T22:48:40.331Z","avatar_url":"https://github.com/cleaning-corp.png","language":"SQL","readme":"# Database Initialization\n\nЭтот проект включает сценарии для автоматической генерации файла `init.sql`, который собирает все схемы и настройки базы\nданных из различных файлов SQL в папке `schemas`.\n\n## Структура проекта\n\n- `schemas/` — папка, содержащая все схемы базы данных, разделенные на файлы:\n  - `clients/` — схема для работы с заказчиками.\n    - `functions.sql` — пользовательские функции для работы с данными.\n    - `indexes.sql` — индексы для таблицы пользователей.\n    - `table.sql` — описание таблицы.\n    - `triggers.sql` — триггеры для таблицы.\n\n## Как это работает\n\n1. Скрипт `run.sh` парсит все SQL-файлы в папке `schemas/`, включая вложенные папки (например, `schemas/clients/`).\n2. Каждый файл добавляется в общий файл `init.sql` в порядке, определенном скриптом.\n3. Результирующий файл `init.sql` включает все таблицы, индексы, функции и триггеры, которые необходимы для\n   инициализации базы данных.\n\n\u003e **Примечание:** Если какой-либо из файлов отсутствует, скрипт завершится с ошибкой. Убедитесь, что все необходимые\n\u003e файлы присутствуют в папке `schemas/`.\n\n## Установка\n\n1. Скачайте или клонируйте репозиторий.\n2. Убедитесь, что у вас установлен `bash` и доступ к `shell`.\n3. В корне проекта выполните команду:\n   ```bash\n   bash run.sh\n   ```\n4. После выполнения скрипта в директории появится файл `init.sql`, готовый к использованию для инициализации базы\n   данных.\n\n## Структура `init.sql`\n\nФайл `init.sql` будет содержать:\n\n1. `Таблицы` — описание всех таблиц, включая их поля и ограничения.\n2. `Индексы` — индексы, которые помогают ускорить выполнение запросов.\n3. `Функции` — пользовательские функции, используемые для работы с данными.\n4. `Триггеры` — триггеры для автоматического выполнения определенных действий при изменении данных.\n\n## Пример структуры каталогов:\n\n```plaintext\nschemas/\n├── clients/\n│   ├── functions.sql\n│   ├── indexes.sql\n│   ├── table.sql\n│   └── triggers.sql\nrun.sh\ninit.sql\n```\n\n### Пример содержимого `table.sql`:\n\n```sql\nCREATE TABLE clients\n(\n  client_id  SERIAL PRIMARY KEY,\n  first_name VARCHAR(50)  NOT NULL,\n  last_name  VARCHAR(50)  NOT NULL,\n  phone      VARCHAR(20)  NOT NULL,\n  email      VARCHAR(100),\n  address    VARCHAR(200) NOT NULL,\n  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n  notes      VARCHAR(300)\n);\n```\n\nПосле выполнения скрипта `run.sh` файл `init.sql` будет содержать все необходимые схемы для работы с заказчиками,\nкоторые могут быть использованы для инициализации вашей базы данных.\n\nДальнейшие инструкции находятся в [USAGE.md](USAGE.md)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcleaning-corp%2Fdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcleaning-corp%2Fdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcleaning-corp%2Fdb/lists"}