我必须从开发环境将asp.net mvc 3应用程序部署到生产环境。
开发环境
生产环境:
我已使用FTP发布方法使用Visual Studio将应用程序发布到生产环境。当我浏览应用程序时,它会引发以下异常:
System.Data.SqlClient.SqlException:无效的对象名称'dbo.User'。
由于我没有在生产环境的sql server 2005数据库中构建表,因此抛弃了上述异常。有没有简单的方法将使用Visual Studio的开发环境数据库部署到生产环境数据库?或者我是否需要在生产环境中手动构建每个表?
答案 0 :(得分:0)
虽然我还没有尝试过,但Code First Migrations可能是您正在寻找的解决方案:http://msdn.microsoft.com/en-US/data/jj591621。
实现此目的的另一种方法是使用Microsoft的SQL Server数据工具项目:http://msdn.microsoft.com/en-us/data/tools.aspx。要获得此功能,您以前必须支付Visual Studio Premium或更高版本的许可证,但现在可以免费使用SQL Server数据工具。我使用的方法是使用数据库第一种方法编写的系统,并且需要维护版本化SQL脚本的历史记录。
要使用此方法,请安装SSDT并创建新的数据库项目。然后创建一个Schema Comparison,将开发数据库与数据库项目进行比较。运行比较并将更新写入项目(对于将来的更新,您可以使用此工具比较生产和开发数据库之间的模式。)
然后,您可以使用“发布”功能将项目直接发布到生产数据库,或者生成一个脚本,然后手动验证并运行该脚本。
要特别注意直接发布到生产数据库,因为我担心数据丢失或意外更新。除了初始模式创建(甚至可能不是初始创建),我建议您始终生成一个脚本,以便在针对生产数据库运行之前验证输出并在阶段环境中进行测试。
我意识到您正在与开发数据库模式进行比较并维护一个与您的POCO不同的模型,这可能不是您的意图,但是一旦您开始管理版本和版本控制,您可以检查一组版本化的SQL脚本源控制和返回是非常宝贵的。