【发布时间】:2014-10-05 22:02:46
【问题描述】:
当我在 Visual Studio 中使用 Web 部署发布我的网站时,我看到如下内容:
MySql.Data.MySqlClient is not supported for incremental database publishing.
我想知道如果这项技术得到支持,它到底能做什么?
【问题讨论】:
标签: visual-studio publish web-publishing
当我在 Visual Studio 中使用 Web 部署发布我的网站时,我看到如下内容:
MySql.Data.MySqlClient is not supported for incremental database publishing.
我想知道如果这项技术得到支持,它到底能做什么?
【问题讨论】:
标签: visual-studio publish web-publishing
增量数据库发布是一种部署功能,其中将架构(新版本)的源代码与实时数据库架构(当前版本)进行比较,以创建更改脚本以将当前版本升级到新版本。
例如,如果您的架构有一个包含几列的表,并且您在源代码中添加了一个新的列定义,那么在发布时会创建一个脚本来将新列添加到表中。
不支持除 SQL Server 之外的数据库引擎并不奇怪,因为支持其他数据库引擎将是大量工作。它真正意味着您必须自己同步数据库更改。 MySQL 可能会提供工具来帮助解决这个问题,但 Visual Studio 没有。
【讨论】:
MERGE 语句来维护查找表。如果您要跟踪的只是模式,那么将更新的只是模式。至于它从何处获取连接字符串等细节,这将取决于您如何跟踪更改。数据库项目? EF 代码优先模型?还有什么?如果是数据库项目,项目属性中可能有设置。
增量数据库发布用于版本控制。 SVN 无法真正处理 tfs 支持的数据库模式的版本控制。
如果您使用增量数据库发布,您可以设置为保留当前数据库并仅进行更新,或者始终重新创建数据库。
假设您要声明 sql 变量,如 InitData、SeedData。
您可以这样做,并且您可以访问一些之前和发布后的脚本。如果您的变量 SeedData 为 true,您可以在发布后脚本中播种一些数据。
编辑:如果您在发布时选择不重新创建数据库,那么它只是更新的架构
【讨论】: