diff --git a/IRaCIS.Core.Domain/SQLFile/20230613.sql b/IRaCIS.Core.Domain/SQLFile/20230613.sql index 217ac6339..03425ba28 100644 --- a/IRaCIS.Core.Domain/SQLFile/20230613.sql +++ b/IRaCIS.Core.Domain/SQLFile/20230613.sql @@ -40,4 +40,49 @@ INNER JOIN sys.columns c ON c.object_id = t.object_id LEFT JOIN sys.default_constraints d ON d.parent_object_id = c.object_id AND d.parent_column_id = c.column_id INNER JOIN sys.types ty on ty.system_type_id = c.system_type_id AND ty.name in ('nvarchar', 'varchar', 'char', 'nchar') -and (ty.name != 'nvarchar' or (ty.name = 'nvarchar' and (c.max_length = -1 or (c.max_length < 100 and c.max_length > 0)))) \ No newline at end of file +and (ty.name != 'nvarchar' or (ty.name = 'nvarchar' and (c.max_length = -1 or (c.max_length < 100 and c.max_length > 0)))) + + + +--修改默认约束名 +SELECT + OBJECT_SCHEMA_NAME(dc.parent_object_id) AS schema_name, + OBJECT_NAME(dc.parent_object_id) AS table_name, + dc.name AS constraint_name, + COL_NAME(dc.parent_object_id, dc.parent_column_id) AS column_name, + CONCAT('EXEC sp_rename N''', dc.name, ''', N''DF_', OBJECT_NAME(dc.parent_object_id), '_', COL_NAME(dc.parent_object_id, dc.parent_column_id), '''') AS executable_sql +FROM + sys.default_constraints dc +WHERE + dc.is_system_named = 1 -- 只查询自动生成的系统默认约束 + AND dc.name NOT LIKE 'DF\[_%]\[_%]' ESCAPE '\'; -- 排除符合 "DF_表名_列名" 格式的约束名 + + SELECT + sys.tables.name AS table_name, + sys.columns.name AS column_name, + sys.default_constraints.name AS constraint_name, + 'EXEC sp_rename N''' + sys.default_constraints.name + ''', N''DF_' + sys.tables.name + '_' + sys.columns.name + '''' + AS executable_sql +FROM sys.default_constraints +INNER JOIN sys.tables ON sys.default_constraints.parent_object_id = sys.tables.object_id +INNER JOIN sys.columns ON sys.default_constraints.parent_column_id = sys.columns.column_id AND sys.tables.object_id = sys.columns.object_id + + + --修改主键 + SELECT + OBJECT_NAME(i.object_id) AS '表名', + COL_NAME(ic.object_id, ic.column_id) AS '列名', + i.name AS '索引名', + CONCAT('EXEC sp_rename ''', i.name, ''', ''PK_', OBJECT_NAME(i.object_id), '_', + COL_NAME(ic.object_id, ic.column_id), '''') + AS '修改索引名为 PK_表名_字段名', + i.is_primary_key AS '是否主键' +FROM + sys.indexes i +INNER JOIN + sys.index_columns ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id +WHERE + (i.is_primary_key = 1 OR i.is_unique_constraint = 1) + AND OBJECTPROPERTY(i.object_id, 'IsSystemTable') = 0 + AND OBJECTPROPERTY(i.object_id, 'IsMSShipped') = 0 + AND OBJECT_NAME(i.object_id) <> 'sysdiagrams'; \ No newline at end of file