And*_*ndy 6 nhibernate constraints primary-key
我们开始在我的工作场所使用NHibernate,包括从映射生成模式.我们的DBA想要的一件事是主键和外键关系的一致名称.我已经能够设置FK约束名称,但查看<id>它的文档似乎没有办法命名主键约束.http://www.nhforge.org/doc/nh/en/index.html#mapping-declaration-id
我想我错过了一些东西,因为这似乎是一件非常基本的事情.
我在生成架构后运行以下脚本来修复主键名称。替换$(targetDb)为您的数据库名称。
BEGIN TRANSACTION
DECLARE @Rename nvarchar(MAX)
DECLARE RenameCursor CURSOR FOR
SELECT
'EXEC sp_rename ''[' + c.CONSTRAINT_SCHEMA + '].[' + c.CONSTRAINT_NAME + ']'', ''PK_' + c.TABLE_NAME + ''', ''OBJECT'''
FROM $(targetDb).INFORMATION_SCHEMA.TABLE_CONSTRAINTS c
WHERE
c.CONSTRAINT_TYPE = 'PRIMARY KEY'
AND
c.TABLE_NAME IS NOT NULL
ORDER BY c.TABLE_NAME
OPEN RenameCursor
FETCH NEXT
FROM RenameCursor
INTO @Rename
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC sp_executesql @Rename
FETCH NEXT
FROM RenameCursor
INTO @Rename
END
CLOSE RenameCursor
DEALLOCATE RenameCursor
COMMIT TRANSACTION
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2123 次 |
| 最近记录: |