【问题标题】:Database under version control (Sitecore)受版本控制的数据库 (Sitecore)
【发布时间】:2023-07-19 21:33:02
【问题描述】:

我刚刚阅读了关于 SO 的以下帖子;

Do you source control your databases

我们正在使用 Sitecore,通常将 3 个标准数据库附加到我们的 MSSQL 服务器。 我们有一个 Core 、 Master 和 Web 数据库。在 Sitecore 后端开发不同模板的过程中,我们都使用一个数据库,并使用 Sitecore CMS 发布我们的数据库更改。例如,当我创建一个数据模板时,我的同事在刷新他的“内容树”时会看到相同的数据模板出现。从我在上面链接的帖子中读到的内容,当您拥有具有不同数据库的多个版本的源代码时,需要进行源代码控制。是否需要将我们的数据库置于源代码控制之下?鉴于 Sitecore 实际上是在处理将项目发布到不同的数据库等,并且我们都通过 Sitecore CMS 在同一个数据库上工作,我认为这不是必需的。我很好奇将数据库置于版本控制之下是否有任何优势。

【问题讨论】:

    标签: database version-control content-management-system sitecore


    【解决方案1】:

    您链接到的帖子和后续帖子更适合您“拥有”数据库的自定义应用程序。即您已经创建了表、存储过程、视图等...我同意,如果您确实创建了数据库,那么您的架构需要在源代码管理中。但是,对于 Sitecore 网站,您并不“拥有” Sitecore 数据库架构,因此您不必将它放在源代码管理中。 (我希望 Sitecore 在源代码控制中具有架构;p)

    因此,您并不拥有实际的数据库架构,也不应该将其置于源代码控制中,但是您为 Sitecore 网站创建的模板和其他项目呢?

    对于您解决方案中的 Sitecore 项目,您需要清楚地了解它们的所有权。 Sitecore 随附的项目和模板不归您所有,因此您不应在源代码控制系统中管理它们。但是,您和您的团队创建的模板应该在源代码管理中!

    为了让特定的 Sitecore 项目进入源代码管理,您可以使用 Yan 提到的 Sitecore 的内置序列化功能。您还可以使用 Team Development for Sitecore 之类的工具来自动执行此过程,并帮助您在环境之间自动构建和部署项目。

    【讨论】:

      【解决方案2】:

      Sitecore 6 引入了非常酷的功能,称为项目序列化。无需将整个数据库文件置于源代码控制之下。您可以只存储必要项目的序列化版本。这些是文件系统上的简单文本文件。

      查看this blog post from Alex了解更多详情。

      【讨论】:

      • 听说过,看过,还没有这样想过。非常感谢;)
      最近更新 更多