powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Хранение схемы БД
8 сообщений из 8, страница 1 из 1
Хранение схемы БД
    #38503708
Фотография Константин Евтеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, хочу хранить скрипты создания базы в системе контроля версий по отдельности(1 файл 1 таблица/функция/...),
может кто-нибудь уже использует готовое решение или сталкивался с подобным?
Пока что нашел только:
...
Рейтинг: 0 / 0
Хранение схемы БД
    #38503709
Фотография Константин Евтеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.postgresql.org/message-id/AANLkTikLHA2x6U=q-t0j0YS78txHFmdtyxJfsrsRcLqN@mail.gmail.com]http://www.postgresql.org/message-id/AANLkTikLHA2x6U=q-t0j0YS78txHFmdtyxJfsrsRcLqN@mail.gmail.com
...
Рейтинг: 0 / 0
Хранение схемы БД
    #38503989
Фотография SmeL_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как то начал делать подобное но так и не закончил. Описывал структуру через yaml, а потом сравнивал объекты. Если использовать только скрипты, то Diff-ы будут "спотыкаться" если поля в таблице изменят свой порядок, или к примеру имя индекса отличается от прежнего, но суть его не изменилась и т.д.
...
Рейтинг: 0 / 0
Хранение схемы БД
    #38504409
Sasha Alias
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C функциями просто, их можно хранить в отдельных файлах с CREATE OR REPLACE.
С таблицами тоже описываем структуру в yaml и делаем самописный diff, налету вычисляя нужные ALTER/DROP.
...
Рейтинг: 0 / 0
Хранение схемы БД
    #38504448
Фотография SmeL_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sasha AliasC функциями просто, их можно хранить в отдельных файлах с CREATE OR REPLACE...У меня они хранятся в файле описывающем schem-у. Функции разделил на две части те что тянутся из расширений и те что в самой базе. Для быстрого сравнения тела функции, при генерации рассчитываю md5.
...
Рейтинг: 0 / 0
Хранение схемы БД
    #38504764
Sasha Alias
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нравится следующая структура: схема - каталог, объект - файл в каталоге.
Для деплоя используется отдельный файл (назовем его release) ссылающийся на файлы объектов, которые нужно задеплоить примерно следующего вида
Код: python
1.
2.
3.
4.
5.
6.
7.
- functions:
  - myschema/f1.sql
  - myschema/f2.sql

- tables:
  - myschema/t1.yaml
  - myschema/t2.yaml



PS
автора возможно заинтересует Pyrseas , хотя лично мне концепция pyrseas не нравится
...
Рейтинг: 0 / 0
Хранение схемы БД
    #38504885
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно дампить посхемно
http://www.postgresql.org/docs/9.3/static/app-pgdump.html

-n schema
...
Рейтинг: 0 / 0
Хранение схемы БД
    #38505054
Sasha Alias
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут вопрос в том, как устроен жизненный цикл разработки.
Можно дампить, можно генерить pyrseas и потом это хранить в системе контроля версий.
Только имхо это неправильно по нескольким причинам.
Системы контроля версий имеют много возможностей, которые при таком подходе просто теряются (visibility кто/когда/зачем внес изменения, ветвление и т.п.)
Т.е. разработчик должен работать с кодом, который храниться в файле, и история файла должна отслеживаться в системе контроля версий.
Генерить скрипты из staging базы для последующего деплоя в продакшн - тоже очень плохая практика.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Хранение схемы БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]