【问题标题】: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 之类的工具来自动执行此过程,并帮助您在环境之间自动构建和部署项目。