【发布时间】:2020-03-21 16:44:45
【问题描述】:
我的表格如下所示:
create table job_results
(
id bigint identity
constraint pk_job_results
primary key,
created datetime2,
deleted datetime2,
updated datetime2,
job_id varchar(255) not null
constraint fk_job_results__job_id
references jobs,
location varchar(1024) not null,
sent_successfully bit default 1 not null,
send_attempts tinyint default 0 not null,
is_partial tinyint default 1 not null
)
现在,我使用 flyway 进行迁移,我遇到了这个问题,当我无法创建迁移时,这会将 is_partial 从 tinyint 更改为 bit,因为 MSSQL 创建了约束,这会阻止名为 DF__job_resul__is_pa__3632CAAD 的迁移 - 通常我会删除它,但此约束具有随机生成的后缀 3632CAAD,因此,当我清理 db 并再次运行 flyway 时,约束不会被删除,因为它没有存在,我不知道删除它的当前后缀。
那么,有没有办法,如何通过一些正则表达式或其他东西自动删除这个特定的约束?
我目前的迁移如下:
alter table job_results
alter column is_partial bit not null;
go
还有错误信息:
SQL State : S0001
Error Code : 5074
Message : The object 'DF__job_resul__is_pa__3632CAAD' is dependent on column 'is_partial'.
【问题讨论】:
标签: sql sql-server flyway