Visual studio 2010 VS2010数据库项目部署,在是否可能发生数据丢失时失败?
我有一个web应用程序的数据库项目,目前我已将其配置为在部署期间可能发生数据丢失时失败。这样我觉得更安全。然而,我遇到了一个问题。实际上,我需要在一些我对可能的数据丢失没有意见的事情上部署更改,例如,缩短列长度,实际上不会删除任何内容,但系统认为会删除 我有两个问题 第一个问题是:除了启用或禁用catch-all-go或no-go之外,还有什么方法可以对这个过程进行更精细的控制,即指定可以删除或缩短的列?有没有办法对这个过程进行更精细的控制 第二个问题是,你们是如何处理这些情况的?起初,我希望添加一个部署前脚本来删除列就足够了,但是它似乎也可以捕获这些文件中的删除等内容Visual studio 2010 VS2010数据库项目部署,在是否可能发生数据丢失时失败?,visual-studio-2010,sql-server-2008,database-project,Visual Studio 2010,Sql Server 2008,Database Project,我有一个web应用程序的数据库项目,目前我已将其配置为在部署期间可能发生数据丢失时失败。这样我觉得更安全。然而,我遇到了一个问题。实际上,我需要在一些我对可能的数据丢失没有意见的事情上部署更改,例如,缩短列长度,实际上不会删除任何内容,但系统认为会删除 我有两个问题 第一个问题是:除了启用或禁用catch-all-go或no-go之外,还有什么方法可以对这个过程进行更精细的控制,即指定可以删除或缩短的列?有没有办法对这个过程进行更精细的控制 第二个问题是,你们是如何处理这些情况的?起初,我希望添
只需将预部署脚本中的列更新为截断长度 要将我的列截断为20:
UPDATE mycol = LEFT(mycol, 20)
FROM mytable
WHERE mycol != LEFT(mycol, 20)
Microsoft指南是在部署前将数据移出到临时表中,让部署引擎运行检查以查看该表是否包含行(这将通过,因为它现在为空),并升级架构,然后在部署后脚本中将数据移回 有关更多信息,请参阅巴克莱山关于该主题的帖子: