Я не совсем уверен, что сделал не так. Но это привело к тому, что другие службы испортили другие вещи миграции 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
и отменил удаление старого тестовые данные.
Я знаю, что это довольно долго и странно, но я надеюсь, что кто-то узнает причину.
Спасибо!