powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Система контроля версий для СУБД
28 сообщений из 28, показаны все 2 страниц
Система контроля версий для СУБД
    #39193105
Roman777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Может кто-нибудь организовывал систему контроля версий для СУБД формата Firebird?
Поделитись опытом.
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193127
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скрипт создания БД легко хранится в любой СКВ.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193154
Roman777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovСкрипт создания БД легко хранится в любой СКВ.

Это понятно, но это всё же не полноценная СКВ, вот если бы по аналогии с файловой СКВ, можно было бы, например, накатывать и откатывать изменения в хранимых процедурах, структуре таблиц и т.п. через интерфейс СКВ СУБД.
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193163
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Roman777!
You wrote on 16 марта 2016 г. 12:16:56:

Roman777> Это понятно, но это всё же не полноценная СКВ, вот если бы по аналогии с файловой СКВ,
> можно было бы, например, накатывать и откатывать изменения в хранимых процедурах, структуре таблиц и т.п.
> через интерфейс СКВ СУБД.используй IBExpert
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193175
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman777по аналогии с файловой СКВ, можно было бы, например, накатывать и откатывать изменения в хранимых процедурах, структуре таблиц и т.п. через интерфейс СКВ СУБД.
че-то я тут не вижу никакой аналогии с файловой СКВ. Процедуры и таблицы - не файлы. У таблиц и процедур могут быть взаимные зависимости, поэтому цельным для БД все же является полный скрипт (в пределах схемы).
Если уж проводить параллель, то например, с исходником на Delphi.
Допустим есть pas-файл с процедурами, функциями и структурами. Для анализа изменений все равно нужно сравнение двух текстовых файлов, целиком. Если сравнивать их кусками, то эти куски надо как-то формировать. В этом случае, конечно, СКВ сможет сравнить изменения объекта А по маркеру этого объекта А. Но в тексте pas никаких таких спец-маркеров нет.
Собственно, если СКВ для Дельфи выдает изменения по объектам, то СКВ для СУБД может делать это точно таким же образом - для этого она должна знать синтаксис СУБД.

А вот есть-ли такие СКВ (со знанием ФБ) - я не знаю. Знаю, что инструменты для моделирования такое умеют. Например Embarcadero ER/Studio.
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193236
Roman777,

Это называется "миграции", гугли про них
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193274
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
классическое чтиво а тему - http://blog.codinghorror.com/get-your-database-under-version-control/
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193280
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
несколько раз встречал советы смотреть в сторону http://www.liquibase.org/databases.html

но лично я так и не добрался
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193281
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мимопроходилтреднечитал,

не совсем, миграции - это скорее с Оракла на ДБ2 или хотя бы с FB 1.5 на FB 3.0
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193284
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то типа https://en.wikipedia.org/wiki/Flyway_(software) (fb not suppported)

кстати, одиин их аргументов за ООП - создание новой БД может быть автоматическим, и таким образов СКВ основного кода еще неявно хранит БД
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193296
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Arioch!
You wrote on 16 марта 2016 г. 14:24:58:

Arioch> кстати, одиин их аргументов за ООП - создание новой БД может быть автоматическим
с этим в секту почитателей точконэта
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193302
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

"одиин их аргументов за ООП" куда? для ИБ (не было еще ФБ) я "промышленно" использовал svn (не помню, какую) последний раз в конце 90х. И без проблем там же хранил и БД и exe, вместе со скриптом. Потому что для показа системы надо было выколупывать сразу готовый exe с базой, а не какие-то исходники компилировать.
СКВ, по-моему, все равно, чего хранить.
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193323
Arioch,

а в оракле и дб2 — костыли для страдальцев, которые решили, что за деньги им будет хорошо
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193406
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы просто для того, "чтобыбыло" svn для метаданных пользуем.
Версируем от релиза к релизу. Исторически прикольно посмотреть отличия в версиях.
Но практически смысла никакого.
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193474
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a,

если глюк появился в какой-нибудь SP/триггере то можно разобраться когда, кто и чем испортил.

как и с процедурами в основной программе
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193504
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

Блобы-то хранить конечно можно, даже не-текстовые DFM

вот только искать изменения трудно в них.

классический пример, кстати, TImage в DFM - открыл форму, закрыл - уже изменение, счетчик там какой-то тикает в бинарных данных

а так бы хорошо бы, чтобы без лишних движений, СКВ залезала в отладочную БД, извлекала метаданные (генераторы - с default value), извлекала справочники - и сформировав скрипт создания БД его бы сравнивала/сохраняла :-)

Ведь в общем-то эта хотелка связана именно с этим, чтобы не руками (нудно и риск забыть) формроваьт скрипты создания/обновления
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193505
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochесли глюк появился в какой-нибудь SP/триггере то можно разобраться когда, кто и чем испортил.
если совсем пафосно, то
- модель строится в er/stuio (или типа того).
- модель разбивается на части, на которые выдаются права
- сотрудники модифицируют модель, все это ходит туда-сюда в version control.
- результирующая модель извлекается ДБА, и он дальше с ней что-то делает. или, применяет накопленные пакеты изменений.

если более практично, и близко к нашей реальности, то все равно, даже если 5-7 разработчиков, изменения должны сначала попадать в vcs, и только потом уже в базу.
Организация прямого редактирования объектов в базе группой разработчиков порочна, и ранее не была возможна из-за отсутствия прав доступа к метаданным.
Сейчас, в ФБ 3, эти права есть. И мне весьма интересно, сделает такую "модель" кто-нибудь, или она все равно провальная для мелких групп и мелких контор. Правда, для полного счастья такой модели в фб 3.0 нет версионирования ddl изменяемых объектов.
Интересно, а плагин такой наверное ведь можно написать?
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193509
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochkdv,

Блобы-то хранить конечно можно, даже не-текстовые DFM

вот только искать изменения трудно в них.

классический пример, кстати, TImage в DFM - открыл форму, закрыл - уже изменение, счетчик там какой-то тикает в бинарных данных

а так бы хорошо бы, чтобы без лишних движений, СКВ залезала в отладочную БД, извлекала метаданные (генераторы - с default value), извлекала справочники - и сформировав скрипт создания БД его бы сравнивала/сохраняла :-)

Ведь в общем-то эта хотелка связана именно с этим, чтобы не руками (нудно и риск забыть) формроваьт скрипты создания/обновлениясмешались в кучу кони-люди... ДФМ-ки вполне себе текстовые, да с картинками хрень, конечно, но терпимая. ДФМки вполне сее живут под версионником, я даже мержил их несколько раз,да удовольствие это ниже среднего, но тем не менее. Если тебе надо кроме скрипта хранить еще что-то ну напиши SQL скрипт, который все что нужно извлечет и сложит в текстовик (текстовики), а уже текстовый файл можно хранить под любой VCS. Я вот лично предпочитаю меркуриал. Зачем версионнику поручать извлечение метаданных и части данных БД куда-то для меня загадка. Ты программист или где?
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193514
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochчтобы не руками (нудно и риск забыть) формроваьт скрипты создания/обновления
все это, в общем, риторика. потому что
1 для объектов все-таки должны быть "раздадены" права редактирования (уже есть возможность)
2 где-то должен работать checkin/checkout. Иначе все 5 человек полезут без проблем редактить одну процедуру - одновременно в ISQL, IBE, и еще где-нибудь.
3 кто-то должен формировать ддл измененных объектов, и запихивать их в vcs (про плагин я уже сказал)

из пунктов 1-3 мутным остается только пункт 2. и, как бы, в данный момент я не вижу другого радикального способа, кроме как внедрение его в СУБД. А значит - Firebird 5.0? :-) и то с сомнительной вероятностью использования. Не любят люди "административный геморрой".

p.s. подозреваю, что п.3 можно "хоть щас" написать, и сделать это может кто угодно.
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193538
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

3 пункт можно реализовать если сравнивать скрипты БД в IBE. А получать полные версии скриптов можно из любой системы контроля версий. Вполне возможно что у этой возможности есть консольный вариант (не проверял). Если так то процесс можно автоматизировать.
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193608
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

DFM - *опционально* текстовые
Потому я и уточнил
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193632
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
из пунктов 1-3 мутным остается только пункт 2. и, как бы, в данный момент я не вижу другого радикального способа, кроме как внедрение его в СУБД. А значит - Firebird 5.0? :-) и то с сомнительной вероятностью использования. .

checkin/checkout - Это уже блокировочник, точно не будет в FB

тут нужен ещё один шаг - разделение объектов (включая и метаданные и данные) на нужные и не-нужные (созданные для отладки), видимо в режиме обучения, с запросами для новых ранее не виденных объектов

Симонов Денисесли сравнивать скрипты БД в IBE

только IBE то ли слишком умный, то ли недостаточно умный, например он не полностью восстанавливает DDL для вычисляемых столбцов с явно заданным типом

Ivan_Pisarevsky ну напиши SQL скрипт, который все что нужно извлечет и сложит в текстовик (текстовики), а уже текстовый файл можно хранить под любой VCS. Я вот лично предпочитаю меркуриал. Зачем версионнику поручать извлечение метаданных и части данных БД куда-то для меня загадка. Ты программист или где?

А зачем тебе тогда вообще меркуриал? напиши bat-скрипт, который по списку будет зиповать файлы в архив с временем в названии. Программист или где?
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39193790
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochтолько IBE то ли слишком умный, то ли недостаточно умный, например он не полностью восстанавливает DDL для вычисляемых столбцов с явно заданным типомХвастунов достаточно оперативно чинит нормально заявленные баги. потроллить решил?
AriochА зачем тебе тогда вообще меркуриал?зело удобен. отследить историю изменений текстового файла очень просто. зипованные архивы относительно vcs каменный век. смысл идти обратно в пещеры?
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39194132
Roman777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvArioch,

"одиин их аргументов за ООП" куда? для ИБ (не было еще ФБ) я "промышленно" использовал svn (не помню, какую) последний раз в конце 90х. И без проблем там же хранил и БД и exe, вместе со скриптом. Потому что для показа системы надо было выколупывать сразу готовый exe с базой, а не какие-то исходники компилировать.
СКВ, по-моему, все равно, чего хранить.

Что дает использование файловой СКВ для файла базы?
Посмотрел Liquibase, но что-то витиевато с его XML-«чейнджсетами» (changeset — набор изменений), которые нужно редактировать 'ручками', что потенциально может привести к ошибкам.

Т.к. требуется СКВ СУБД для 1 разработчика, пока остановился на варианте генерации скрипта базы через IBExpert (ibeblock) и подсовывание в файловую СКВ, конечно откат возможен только 'ручками', но хоть что-то.

Может всё же кто-то предложит ещё варианты СКВ СУБД (FB), помимо Liquibase.
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39194136
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman777
Может всё же кто-то предложит ещё варианты СКВ СУБД (FB), помимо Liquibase.

Здесь обсуждали. У нас - по четвертому варианту, скрипты хранятся в git.
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39194843
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevskyзело удобен. отследить историю изменений текстового файла очень просто. зипованные архивы относительно vcs каменный век. смысл идти обратно в пещеры?

так вот ровно те же соображения и вызывают желание интегрировать СКВ и БД

ты кстати пропустил еще один момент, что можно просто ЗАБЫТЬ включить новый объект (файл, таблицу, строчку) в скрипт. А вот СКВ просматривающая "папки" - что на диске, что в БД - найдет это новое неучтенное что-то и спросит-напомнит.

Ivan_PisarevskyХвастунов достаточно оперативно чинит нормально заявленные баги

Если не скажет "я так решил, что так более по фен-шую"

Впрочем, в IBE нельзя задать шаблон сохранения в скрипт. каждый раз приходится руками выбирать что сохранять , а что нет
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39194892
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochВпрочем, в IBE
я бы выступил в роли антимонопольного комитета, и заметил, что не надо себе же рыть яму. IBE никакую vcs не поддерживает, и является самостоятельным инструментом. Да, в нем есть компарер. Но есть и другие компареры, отдельные.
...
Рейтинг: 0 / 0
Система контроля версий для СУБД
    #39198872
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyХвастунов достаточно оперативно чинит нормально заявленные баги

ну, в общем, мой склероз мне говорил, что эта проблeма давно тянется и не в эксперте дело.

"Так и вышло" - 18960014

баг это или не баг - но мяч на стороне FB
...
Рейтинг: 0 / 0
28 сообщений из 28, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Система контроля версий для СУБД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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