Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Liquibase, Flyway etc / 10 сообщений из 10, страница 1 из 1
23.04.2012, 16:08:19
    #37766507
Michael Ponomarev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Liquibase, Flyway etc
Добрый день,
ищется готовый механизм для миграций, присматриваюсь к subj, но в Liquibase отпугивает xml формат, поскольку в наших миграциях присутствует порой не только DDL, но и DML. B есть tot одно но, а именно, production базы 2 и они отличаются, в том числе незначительно и по структуре. В коде это все предусматривается(где-то хорошо, где-то плохо), а вот что делать с версионированием БД пока не понятно. Flyway судя по доке поддерживает multiple schemas, но это немного не то, ибо схема одна. У кого-нибудь есть подобный опыт?

p.s. база PostgreSQL
...
Рейтинг: 0 / 0
23.04.2012, 16:15:02
    #37766524
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Liquibase, Flyway etc
Michael Ponomarevищется готовый механизм для миграций,
Миграций это не из одной базы в другую?

Michael Ponomarevно в Liquibase отпугивает xml формат
Чем?

Michael Ponomarev, поскольку в наших миграциях присутствует порой не только DDL, но и DML.
В Liquibase можно любые запросы запускать.

Michael Ponomarev,
B есть tot одно но, а именно, production базы 2 и они отличаются, в том числе незначительно и по структуре.

У нас такая же ситуация. Используем <changeSet context="name"/>
...
Рейтинг: 0 / 0
23.04.2012, 16:23:20
    #37766540
Michael Ponomarev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Liquibase, Flyway etc
BlazkowiczMichael Ponomarevищется готовый механизм для миграций,
Миграций это не из одной базы в другую?

Поддержка одной и той же БД в актуальном состоянии

BlazkowiczMichael Ponomarevно в Liquibase отпугивает xml формат
Чем?

А где хранить сырой sql(update bla-bla set a=...)

BlazkowiczMichael Ponomarev, поскольку в наших миграциях присутствует порой не только DDL, но и DML.
В Liquibase можно любые запросы запускать.

Это хорошо

BlazkowiczMichael Ponomarev,
B есть tot одно но, а именно, production базы 2 и они отличаются, в том числе незначительно и по структуре.

У нас такая же ситуация. Используем <changeSet context="name"/>

Пошел внимательнее доку читать
...
Рейтинг: 0 / 0
23.04.2012, 16:27:05
    #37766549
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Liquibase, Flyway etc
Michael PonomarevА где хранить сырой sql(update bla-bla set a=...)

Код: xml
1.
2.
<changeSet>
   <sql> UPDATE...
...
Рейтинг: 0 / 0
24.04.2012, 18:24:41
    #37769048
Йуный джавистЪ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Liquibase, Flyway etc
А чем не подходит традиционный способ, когда в системе контроля версий есть папка с файлами:
alter1.sql
alter2.sql
..
alterN.sql
,табличка current_version(version integer) в базе, и простейший скрипт, который этим управляет.
...
Рейтинг: 0 / 0
24.04.2012, 18:27:18
    #37769054
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Liquibase, Flyway etc
Йуный джавистЪА чем не подходит традиционный способ, когда в системе контроля версий есть папка с файлами:
alter1.sql
alter2.sql
..
alterN.sql
,табличка current_version(version integer) в базе, и простейший скрипт, который этим управляет.
Зачем делать этот простейший скрипт, если он за тебя уже сделан?
Я dbmaintain использую.
...
Рейтинг: 0 / 0
24.04.2012, 18:31:52
    #37769071
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Liquibase, Flyway etc
Йуный джавистЪА чем не подходит традиционный способ, когда в системе контроля версий есть папка с файлами
Там кучу фич необходимо писать самому:
- Лок базы между апдейтами
- Метаданные апдейтов - имя юзера, дескрипшн, номер тикета, etc
- Транзакционные запросы в рамках одного скрипта.
- Парсер сепараторов запросов в скрипте, если через JDBC запускать, а не через инструменты самой БД
- Поддержка нескольких разных баз или схем (контекст)
- Поддаржка диалектов, если вдруг на разные сервера нужно ставить.
и это только на вскидку.
...
Рейтинг: 0 / 0
24.04.2012, 18:46:46
    #37769108
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Liquibase, Flyway etc
Blazkowicz,

в liquibase это все есть?
...
Рейтинг: 0 / 0
24.04.2012, 19:38:57
    #37769238
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Liquibase, Flyway etc
Leonidvв liquibase это все есть?
Да
...
Рейтинг: 0 / 0
24.04.2012, 20:25:19
    #37769303
Йуный джавистЪ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Liquibase, Flyway etc
Лок базы между апдейтами

Код: sql
1.
2.
3.
4.
5.
(
echo "alter system quisced;"
cat alter*
echo "alter system unquisced;"
) | psql


Метаданные апдейтов - имя юзера, дескрипшн, номер тикета, etc

Номер тикета находится в commit message к файлу alterN.sql
- Транзакционные запросы в рамках одного скрипта.

psql --single-transaction
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Liquibase, Flyway etc / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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