我有一个visual studio 2013数据库项目,当我部署时(作为在解决方案中运行项目的一部分),我收到此错误: “检测到第6行。模式更新正在终止,因为可能会发生数据丢失。”
我在sql脚本中找到了违规行。
SQL脚本正在尝试将列类型从NVarchar更改为Varchar。但它不需要这样做 - 它已经是数据库中的Varchar。
当我从数据库项目发布时,这是有效的。它没有用于更改列类型的行。那是因为它已经运行并更改了列。现在无需更改列。
但是当我运行(ctrl-F5)时,它会构建我的解决方案并尝试部署。这是我收到错误的时候。
1)为什么我跑的时候会部署?我找不到该设置,并且它不会发生在同一项目中的其他开发人员身上。它必须是一个视觉工作室设置。
2)从运行中部署时,它将使用什么connectString?也许它从另一个数据库实例获取连接字符串。
答案 0 :(得分:1)
为什么我跑的时候会部署?
检查Configuration Manager(“构建”菜单>“配置管理器”)。可能会检查Deploy复选框以查找数据库项目。
从运行中部署时,它将使用什么connectString?
项目属性中“调试”选项卡中定义的连接字符串。