我不太确定自己做错了什么。但这导致其他服务弄乱了其他数据库迁移内容。
希望有人会帮助我解决这个问题。
谢谢!
我们有一个创建表的数据库迁移脚本
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
添加到开发环境中
但是在我当前的任务中,如果迁移是新数据库,迁移将失败,因此我删除了插入
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'));
*/
由于必须更改表并添加具有约束的列,因此我将测试数据的添加移到了新的数据库迁移脚本中。 似乎没有错误,但是它弄乱了我不确定是什么原因的东西。
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
约束,并恢复了对旧测试数据的删除。
我知道这有点长而且很奇怪,但是我希望有人会知道原因。
谢谢!