我有这个Web.config
<connectionStrings>
<add name="AuthContext" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=mokey;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
和
Web.Release.config
<connectionStrings>
<add xdt:Transform="SetAttributes" xdt:Locator="Match(name)" name="AuthContext" providerName="MySql.Data.MySqlClient" connectionString="server=mysql2.gear.host;database=mokey;persistsecurityinfo=True" />
</connectionStrings>
所以我有两个数据库,本地和生产。
现在,当我运行update-database
时,本地数据库已更新。
如何为生产数据库运行update-database
,即将数据库迁移到最新版本?
答案 0 :(得分:1)
您可能需要重新考虑使用代码部署更新PRODUCTION数据库。这不是EF的意图,而且许多DBA会因代码直接更新而出现问题。
我们所做的是根据DBA运行的迁移生成脚本,如下所述:http://cpratt.co/migrating-production-database-with-entity-framework-code-first/#at_pco=smlwn-1.0&at_si=54ad5c7b61c48943&at_ab=per-12&at_pos=0&at_tot=1
您还必须考虑数据库初始化程序是什么,并在生产中将其设置为null或migratetolatestversion。您还可以在构建服务器中使用migrate.exe来更新数据库。