C# SQL Server数据库项目通过部署后脚本向表中添加列

C# SQL Server数据库项目通过部署后脚本向表中添加列,c#,sql,.net,sql-server,vb.net,C#,Sql,.net,Sql Server,Vb.net,在我们的一个项目中,我们使用SQLServer数据库项目来维护数据库。在这里,我有一个场景,通过脚本将新列添加到数据库表中,而不是直接添加到项目中的表中。所以我创建了一个alter脚本来添加新列,并将其包括在部署后脚本检查列exist before add中。它与first publish一起工作,没有出现错误。在这里,我发布项目后,它给了我以下错误。我理解这里的问题,这是因为项目中的表不包含列,因为它是通过alter脚本添加的,所以在发布时,它会发现需要删除列 所以,我们不能通过SQLServ

在我们的一个项目中,我们使用SQLServer数据库项目来维护数据库。在这里,我有一个场景,通过脚本将新列添加到数据库表中,而不是直接添加到项目中的表中。所以我创建了一个alter脚本来添加新列,并将其包括在部署后脚本检查列exist before add中。它与first publish一起工作,没有出现错误。在这里,我发布项目后,它给了我以下错误。我理解这里的问题,这是因为项目中的表不包含列,因为它是通过alter脚本添加的,所以在发布时,它会发现需要删除列

所以,我们不能通过SQLServer数据库项目中的脚本文件而不是直接向表中添加新列吗

ERROR: *** Could not deploy package.
2014-07-09 11:15:33 INFO   [Deploy Script]   ERROR: Warning SQL72015: The column [dbo].[aps_client_po].[aps_cost_centre] is being dropped, data loss could occur.
2014-07-09 11:15:33 INFO   [Deploy Script]   ERROR: Warning SQL72015: The column [dbo].[RefPOStaging].[cost_centre] is being dropped, data loss could occur.
2014-07-09 11:15:33 INFO   [Deploy Script]   ERROR: Error SQL72014: .Net SqlClient Data Provider: Msg 50000, Level 16, State 127, Line 6 Rows were detected. The schema update is terminating because data loss might occur.
2014-07-09 11:15:33 INFO   [Deploy Script]   ERROR: Error SQL72045: Script execution error.  The executed script:
2014-07-09 11:15:33 INFO   [Deploy Script]   ERROR: IF EXISTS (SELECT TOP 1 1
2014-07-09 11:15:33 INFO   [Deploy Script]   ERROR:            FROM   [dbo].[aps_client_po])
2014-07-09 11:15:33 INFO   [Deploy Script]   ERROR:     RAISERROR (N'Rows were detected. The schema update is terminating because data loss might occur.', 16, 127)
2014-07-09 11:15:33 INFO   [Deploy Script]   ERROR:         WITH NOWAIT;

我的问题是,为什么不能直接将它添加到表脚本中,而不是通过部署后脚本来完成?