如何设置允许迁移的数据库权限

Col*_*lin 7 sql-server entity-framework

编辑 我找到了解决方案.此问题的详细信息:如何使用不同的连接字符串(但相同的数据库)进行迁移

我创建了一个SQL Server登录名供我的网站使用:

USE Master
CREATE LOGIN website_live 
    WITH PASSWORD = N'ItsASecret', 
    DEFAULT_DATABASE = MyDb, 
    DEFAULT_LANGUAGE = British, 
    CHECK_EXPIRATION = OFF, 
    CHECK_POLICY = OFF
GO
Run Code Online (Sandbox Code Playgroud)

然后我赋予它读写权限:

USE MyDb
CREATE USER website_live 
FOR LOGIN website_live 
    WITH DEFAULT_SCHEMA = dbo

EXEC sp_addrolemember N'db_datareader', N'website_live'
EXEC sp_addrolemember N'db_datawriter', N'website_live'
Run Code Online (Sandbox Code Playgroud)

并在我的连接字符串中使用该登录

一切正常,直到我从Visual Studio发布需要更改架构的数据库迁移(编辑:我的意思是对数据库结构的更改.我并不是说我想要更改网站使用的架构).

我真的不想给网站永久权限来改变数据库.我是否可以创建仅在迁移期间使用的另一个数据库用户?那会安全吗?我该怎么做,只需点击几下就能保持发布的便利性吗?

NB我正在使用Entity Framework迁移.当我从Visual Studio发布网站时,网站会自动在浏览器中打开,如果要运行数据库迁移,则使用网站的凭据运行.