|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
Здравствуйте. Может кто-нибудь организовывал систему контроля версий для СУБД формата Firebird? Поделитись опытом. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 11:39 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
Скрипт создания БД легко хранится в любой СКВ. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 11:56 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovСкрипт создания БД легко хранится в любой СКВ. Это понятно, но это всё же не полноценная СКВ, вот если бы по аналогии с файловой СКВ, можно было бы, например, накатывать и откатывать изменения в хранимых процедурах, структуре таблиц и т.п. через интерфейс СКВ СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 12:11 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
Hello, Roman777! You wrote on 16 марта 2016 г. 12:16:56: Roman777> Это понятно, но это всё же не полноценная СКВ, вот если бы по аналогии с файловой СКВ, > можно было бы, например, накатывать и откатывать изменения в хранимых процедурах, структуре таблиц и т.п. > через интерфейс СКВ СУБД.используй IBExpert Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 12:17 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
Roman777по аналогии с файловой СКВ, можно было бы, например, накатывать и откатывать изменения в хранимых процедурах, структуре таблиц и т.п. через интерфейс СКВ СУБД. че-то я тут не вижу никакой аналогии с файловой СКВ. Процедуры и таблицы - не файлы. У таблиц и процедур могут быть взаимные зависимости, поэтому цельным для БД все же является полный скрипт (в пределах схемы). Если уж проводить параллель, то например, с исходником на Delphi. Допустим есть pas-файл с процедурами, функциями и структурами. Для анализа изменений все равно нужно сравнение двух текстовых файлов, целиком. Если сравнивать их кусками, то эти куски надо как-то формировать. В этом случае, конечно, СКВ сможет сравнить изменения объекта А по маркеру этого объекта А. Но в тексте pas никаких таких спец-маркеров нет. Собственно, если СКВ для Дельфи выдает изменения по объектам, то СКВ для СУБД может делать это точно таким же образом - для этого она должна знать синтаксис СУБД. А вот есть-ли такие СКВ (со знанием ФБ) - я не знаю. Знаю, что инструменты для моделирования такое умеют. Например Embarcadero ER/Studio. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 12:31 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
Roman777, Это называется "миграции", гугли про них ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 13:34 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
классическое чтиво а тему - http://blog.codinghorror.com/get-your-database-under-version-control/ ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 14:13 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
несколько раз встречал советы смотреть в сторону http://www.liquibase.org/databases.html но лично я так и не добрался ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 14:16 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
мимопроходилтреднечитал, не совсем, миграции - это скорее с Оракла на ДБ2 или хотя бы с FB 1.5 на FB 3.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 14:18 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
что-то типа https://en.wikipedia.org/wiki/Flyway_(software) (fb not suppported) кстати, одиин их аргументов за ООП - создание новой БД может быть автоматическим, и таким образов СКВ основного кода еще неявно хранит БД ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 14:20 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
Hello, Arioch! You wrote on 16 марта 2016 г. 14:24:58: Arioch> кстати, одиин их аргументов за ООП - создание новой БД может быть автоматическим с этим в секту почитателей точконэта Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 14:25 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
Arioch, "одиин их аргументов за ООП" куда? для ИБ (не было еще ФБ) я "промышленно" использовал svn (не помню, какую) последний раз в конце 90х. И без проблем там же хранил и БД и exe, вместе со скриптом. Потому что для показа системы надо было выколупывать сразу готовый exe с базой, а не какие-то исходники компилировать. СКВ, по-моему, все равно, чего хранить. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 14:27 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
Arioch, а в оракле и дб2 — костыли для страдальцев, которые решили, что за деньги им будет хорошо ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 14:39 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
Мы просто для того, "чтобыбыло" svn для метаданных пользуем. Версируем от релиза к релизу. Исторически прикольно посмотреть отличия в версиях. Но практически смысла никакого. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 15:27 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
o_v_a, если глюк появился в какой-нибудь SP/триггере то можно разобраться когда, кто и чем испортил. как и с процедурами в основной программе ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 16:12 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
kdv, Блобы-то хранить конечно можно, даже не-текстовые DFM вот только искать изменения трудно в них. классический пример, кстати, TImage в DFM - открыл форму, закрыл - уже изменение, счетчик там какой-то тикает в бинарных данных а так бы хорошо бы, чтобы без лишних движений, СКВ залезала в отладочную БД, извлекала метаданные (генераторы - с default value), извлекала справочники - и сформировав скрипт создания БД его бы сравнивала/сохраняла :-) Ведь в общем-то эта хотелка связана именно с этим, чтобы не руками (нудно и риск забыть) формроваьт скрипты создания/обновления ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 16:29 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
Ariochесли глюк появился в какой-нибудь SP/триггере то можно разобраться когда, кто и чем испортил. если совсем пафосно, то - модель строится в er/stuio (или типа того). - модель разбивается на части, на которые выдаются права - сотрудники модифицируют модель, все это ходит туда-сюда в version control. - результирующая модель извлекается ДБА, и он дальше с ней что-то делает. или, применяет накопленные пакеты изменений. если более практично, и близко к нашей реальности, то все равно, даже если 5-7 разработчиков, изменения должны сначала попадать в vcs, и только потом уже в базу. Организация прямого редактирования объектов в базе группой разработчиков порочна, и ранее не была возможна из-за отсутствия прав доступа к метаданным. Сейчас, в ФБ 3, эти права есть. И мне весьма интересно, сделает такую "модель" кто-нибудь, или она все равно провальная для мелких групп и мелких контор. Правда, для полного счастья такой модели в фб 3.0 нет версионирования ddl изменяемых объектов. Интересно, а плагин такой наверное ведь можно написать? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 16:30 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
Ariochkdv, Блобы-то хранить конечно можно, даже не-текстовые DFM вот только искать изменения трудно в них. классический пример, кстати, TImage в DFM - открыл форму, закрыл - уже изменение, счетчик там какой-то тикает в бинарных данных а так бы хорошо бы, чтобы без лишних движений, СКВ залезала в отладочную БД, извлекала метаданные (генераторы - с default value), извлекала справочники - и сформировав скрипт создания БД его бы сравнивала/сохраняла :-) Ведь в общем-то эта хотелка связана именно с этим, чтобы не руками (нудно и риск забыть) формроваьт скрипты создания/обновлениясмешались в кучу кони-люди... ДФМ-ки вполне себе текстовые, да с картинками хрень, конечно, но терпимая. ДФМки вполне сее живут под версионником, я даже мержил их несколько раз,да удовольствие это ниже среднего, но тем не менее. Если тебе надо кроме скрипта хранить еще что-то ну напиши SQL скрипт, который все что нужно извлечет и сложит в текстовик (текстовики), а уже текстовый файл можно хранить под любой VCS. Я вот лично предпочитаю меркуриал. Зачем версионнику поручать извлечение метаданных и части данных БД куда-то для меня загадка. Ты программист или где? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 16:35 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
Ariochчтобы не руками (нудно и риск забыть) формроваьт скрипты создания/обновления все это, в общем, риторика. потому что 1 для объектов все-таки должны быть "раздадены" права редактирования (уже есть возможность) 2 где-то должен работать checkin/checkout. Иначе все 5 человек полезут без проблем редактить одну процедуру - одновременно в ISQL, IBE, и еще где-нибудь. 3 кто-то должен формировать ддл измененных объектов, и запихивать их в vcs (про плагин я уже сказал) из пунктов 1-3 мутным остается только пункт 2. и, как бы, в данный момент я не вижу другого радикального способа, кроме как внедрение его в СУБД. А значит - Firebird 5.0? :-) и то с сомнительной вероятностью использования. Не любят люди "административный геморрой". p.s. подозреваю, что п.3 можно "хоть щас" написать, и сделать это может кто угодно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 16:39 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
kdv, 3 пункт можно реализовать если сравнивать скрипты БД в IBE. А получать полные версии скриптов можно из любой системы контроля версий. Вполне возможно что у этой возможности есть консольный вариант (не проверял). Если так то процесс можно автоматизировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 16:58 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
Ivan_Pisarevsky, DFM - *опционально* текстовые Потому я и уточнил ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 17:36 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
kdv из пунктов 1-3 мутным остается только пункт 2. и, как бы, в данный момент я не вижу другого радикального способа, кроме как внедрение его в СУБД. А значит - Firebird 5.0? :-) и то с сомнительной вероятностью использования. . checkin/checkout - Это уже блокировочник, точно не будет в FB тут нужен ещё один шаг - разделение объектов (включая и метаданные и данные) на нужные и не-нужные (созданные для отладки), видимо в режиме обучения, с запросами для новых ранее не виденных объектов Симонов Денисесли сравнивать скрипты БД в IBE только IBE то ли слишком умный, то ли недостаточно умный, например он не полностью восстанавливает DDL для вычисляемых столбцов с явно заданным типом Ivan_Pisarevsky ну напиши SQL скрипт, который все что нужно извлечет и сложит в текстовик (текстовики), а уже текстовый файл можно хранить под любой VCS. Я вот лично предпочитаю меркуриал. Зачем версионнику поручать извлечение метаданных и части данных БД куда-то для меня загадка. Ты программист или где? А зачем тебе тогда вообще меркуриал? напиши bat-скрипт, который по списку будет зиповать файлы в архив с временем в названии. Программист или где? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 17:48 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
Ariochтолько IBE то ли слишком умный, то ли недостаточно умный, например он не полностью восстанавливает DDL для вычисляемых столбцов с явно заданным типомХвастунов достаточно оперативно чинит нормально заявленные баги. потроллить решил? AriochА зачем тебе тогда вообще меркуриал?зело удобен. отследить историю изменений текстового файла очень просто. зипованные архивы относительно vcs каменный век. смысл идти обратно в пещеры? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 20:18 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
kdvArioch, "одиин их аргументов за ООП" куда? для ИБ (не было еще ФБ) я "промышленно" использовал svn (не помню, какую) последний раз в конце 90х. И без проблем там же хранил и БД и exe, вместе со скриптом. Потому что для показа системы надо было выколупывать сразу готовый exe с базой, а не какие-то исходники компилировать. СКВ, по-моему, все равно, чего хранить. Что дает использование файловой СКВ для файла базы? Посмотрел Liquibase, но что-то витиевато с его XML-«чейнджсетами» (changeset — набор изменений), которые нужно редактировать 'ручками', что потенциально может привести к ошибкам. Т.к. требуется СКВ СУБД для 1 разработчика, пока остановился на варианте генерации скрипта базы через IBExpert (ibeblock) и подсовывание в файловую СКВ, конечно откат возможен только 'ручками', но хоть что-то. Может всё же кто-то предложит ещё варианты СКВ СУБД (FB), помимо Liquibase. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2016, 10:45 |
|
Система контроля версий для СУБД
|
|||
---|---|---|---|
#18+
Roman777 Может всё же кто-то предложит ещё варианты СКВ СУБД (FB), помимо Liquibase. Здесь обсуждали. У нас - по четвертому варианту, скрипты хранятся в git. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2016, 10:49 |
|
|
start [/forum/topic.php?fid=40&msg=39193504&tid=1562280]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 267ms |
total: | 426ms |
0 / 0 |