历史遗留项目,做数据迁移修改表结构的时候出错,不知道如何删除约束
想用代码实现删除约束,手动操作繁琐,而且容易出错,出现遗漏,造成未知问题,在排查,会比较麻烦。
Schema::table('Customer', function (Blueprint $table) {
$table->string('field1', 100)->default("")->nullable(false)->change();
});
// 报错: SQLSTATE[42000]: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]对象'DF_Customer4_field1' 依赖于 列'field1'。 (SQL: ALTER TABLE Customer ALTER COLUMN field1 NVARCHAR(100) COLLATE Chinese_PRC_CI_AS NOT NULL)
有方法可以判断是否存在这个约束吗?
我知道可以判断是否存在索引,但是这个不是索引,这个在 sqlserver 的约束标签里面
表
我看了这个是因为这个字段设置默认值,产生了一个约束
ALTER TABLE [dbo].[Customer] ADD CONSTRAINT [DF_Customer4_field1] DEFAULT ('') FOR [field1]
我试了下,只要可以生成以下语句就行,只是不知道在哪里调用哪些可以生成这个 SQL 语句
alter table [dbo].[Customer] drop constraint [DF_Customer4_field1]
尝试查找一下表的元数据信息 blog.csdn.net/dudadudadd/article/d...