Изменение скрипта миграции db с помощью Flyway - PullRequest
0 голосов
/ 18 июня 2020

Я не совсем уверен, что сделал не так. Но это привело к тому, что другие службы испортили другие вещи миграции db.

Надеюсь, кто-то поможет мне с причиной.

Спасибо!

У нас есть сценарий миграции базы данных, который создает таблицу

V6__add_subscription_tables.sql

CREATE TABLE plan_subscription (
    id bigint NOT NULL,
    version bigint NOT NULL,
    team_id bigint NOT NULL,
    plan_id bigint NOT NULL,

    PRIMARY KEY (id),
    FOREIGN KEY (plan_id) REFERENCES plan (id),
    UNIQUE (team_id)
);

Добавлен еще один сценарий, который добавит в среду разработки plan_subscription Но в моем текущая задача, миграция не удастся, если это база данных fre sh, поэтому я удалил вставку

V5002__add_test_data.sql

//There are other test data here

/* THIS IS THE DATA THAT I DELETED
INSERT INTO plan_subscription VALUES (nextval('plan_subscription_sequence'), 0, 3, currval('plan_sequence'));
*/

И так как мне нужно изменить таблицу и добавить столбец с ограничением, я переместил добавление теста data в новом скрипте миграции db, но. Кажется, что ошибки нет, но что-то испортилось, и я не уверен, в чем причина.

V5004__add_date_occurred_in_plan_subscription.sql

ALTER TABLE plan_subscription ADD
date_occurred TIMESTAMP WITHOUT TIME ZONE NOT NULL;

INSERT INTO plan_subscription VALUES (nextval('plan_subscription_sequence'), 0, 3, currval('plan_sequence'), current_date);

Итак, что я сделал, я просто удалил ограничение NOT NULL и отменил удаление старого тестовые данные.

Я знаю, что это довольно долго и странно, но я надеюсь, что кто-то узнает причину.

Спасибо!

...