在我的测试环境发布后,我希望能够删除数据库并重新创建它,包括添加现有的SQL用户。
立刻想到两个问题:
我是否正确地推测这样做的地方是覆盖OnConfiguring
类中的AppDbContext
方法?
如何在OnConfiguring
方法中授予用户对数据库的权限?如果它是在SQL脚本中,它将类似于:
USE [DatabaseName]
GO
IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N'DatabaseUser')
CREATE USER [DatabaseUser] FOR LOGIN [DatabaseUser]
GO
USE [DatabaseName]
GO
--ALTER ROLE [db_owner] ADD MEMBER [DatabaseUser] (gave a syntax error)
EXEC sp_addrolemember 'db_owner' 'DatabaseUser'
GO