VS2010数据库项目部署,是否可能发生数据丢失而失败?

| 我有一个用于Web应用程序的数据库项目,当前将其配置为在部署期间可能发生数据丢失的情况下失败。这样我感觉更安全。但是我遇到了一个问题。我实际上需要在可能会丢失数据的某些方面部署更改,即缩短列长度,实际上什么也不会被删除,但系统认为会做到。 我有两个问题。 第一个是这样:除了启用或禁用全部捕获或不捕获捕获之外,还有什么方法可以对此过程进行更精细的控制,即指定列可以删除还是缩短?有什么方法可以对此过程进行更精细的控制吗? 第二个是,你们如何处理这些情况?最初,我希望添加一个部署前脚本来删除列就足够了,但是似乎也可以在那些文件中捕获删除等。     
已邀请:
不幸的是,没有任何方法可以更精细地控制它。 当我知道将要部署会导致数据丢失但我想要的东西时,我将其禁用。然后我重新启用它。另外,我将始终检查部署到生产环境时出现的更改脚本。     
只需将预部署脚本中的列更新为截短长度? 例如:将我的col截断为20:
UPDATE mycol = LEFT(mycol, 20)
FROM mytable
WHERE mycol != LEFT(mycol, 20)
    
Microsoft的指南是在部署前将数据移出到临时表中,让部署引擎运行检查以查看表是否包含行(由于现在为空,因此将通过)并升级架构,然后移动架构。数据返回到部署后脚本中。 有关更多信息,请参阅关于此主题的Barclay Hills帖子: 在部署期间管理数据移动(第1部分) 在部署期间管理数据移动(第2部分)     

要回复问题请先登录注册