Size: a a a

2021 May 24

N

Nurba in Astana JKUG
То есть там прям под папки они делятся, tables, models, seq procedures итд
источник

N

Nurba in Astana JKUG
Hibernate не читал ?) Он уже вот 20 лет на рынке
источник

N

Nurba in Astana JKUG
А jooq ещё молодой, и документация скудная
источник

TS

Tair Sab in Astana JKUG
Нет, прод катишь на основе миграций
источник

N

Nurba in Astana JKUG
А почему не попробовать миграцию?
источник

N

Nurba in Astana JKUG
И потом сгенерить что нужно
источник

N

Nurba in Astana JKUG
+
источник

TS

Tair Sab in Astana JKUG
Hibernate ddl-auto — это моветон
источник

A

Arstanbek in Astana JKUG
Ну вот я создаю сощности на яве, и jooq мне генерит их.
Но они для одного типа БД.
Теперь, мне нужно смигрировать в другой тип БД ))
источник

AT

Aidyn Toibekov in Astana JKUG
Ассалаумағалайкум! Как дела? Jooq это же table-first подход.
источник

A

Arstanbek in Astana JKUG
Уагалейкумассалам!
Да, оно самое.

Вся это свистопляска для переезда из одного типа БД в другой
источник

AT

Aidyn Toibekov in Astana JKUG
Ну вот, он же создан чтоб генерить классы с БД, а не наоборот..
источник

AT

Aidyn Toibekov in Astana JKUG
Не вариант смигрировать с оракла, а потом на готовую БД натравить jooq?
источник

A

Arstanbek in Astana JKUG
У меня есть прод. Он крутится на DB2.
C помощью jooq я создал сущности из прода.

Теперь, эти сущности надо создать в посгрес
источник

A

Arstanbek in Astana JKUG
Нет, не вариант.
Все должно быть аутоматом.

Делаю утилиту, которой перед запуском надо показать:
1. текущий источник БД (это есть, генерятся jooq'овские сущности)
2. параметры новой схемы в PG (этого нет).
источник

AT

Aidyn Toibekov in Astana JKUG
Может Вам батюшка проще сделать селект всех таблиц в дб2, сгенерить скрипты для постгре и выполнить?
источник

AT

Aidyn Toibekov in Astana JKUG
Или классы после jooq спроксировать и скормить хиберу для постгре
источник

A

Arstanbek in Astana JKUG
нет. в Db2 используются особенные поля,
Нужны инструменты искаропки, чтобы типы полей приведены в соответствие по хорошему
источник

AT

Aidyn Toibekov in Astana JKUG
Тогда так
источник

A

Arstanbek in Astana JKUG
Оказалось всё банально.

Взять схему:

        def connection = DataSourceUtil.createConnection(url, username, passwd)
       DSLContext ctx = DSL.using(connection, SQLDialect.DB2);
       StringBuilder sb = new StringBuilder()
       def schema = ctx.meta().getSchemas("NABRK").get(0);


А потом по schema сгенерить ddl и выполнить в необходимой БД
источник