4

我刚刚在SO上阅读了以下文章;版本控制下的数据库(Sitecore)

Do you source control your databases

我们与Sitecore的工作,通常附着的3个标准数据库,我们的MSSQL服务器。 我们有一个核心,主和Web数据库。在开发Sitecore后端不同模板的过程中,我们都使用一个数据库,并使用Sitecore CMS发布我们的数据库更改。例如,当我创建一个数据模板时,当他刷新其“内容树”时,我的同事将看到相同的数据模板。从我读过的链接上面的数据库源代码控制的内容中看到,当你有不同数据库的源代码的多个版本。是否需要将我们的数据库置于源代码控制之下?考虑到这一点,知道Sitecore实际上是处理向不同数据库发布项目等,我们都通过Sitecore CMS工作在同一个数据库上,我认为这不是必需的。我很好奇,是否仍然有将数据库置于版本控制之下的优势。

回答

5

Sitecore 6引入了非常酷的功能项目序列化。无需将您的整个数据库文件保存在源代码管理下。您只能存储必要项目的序列化版本。这些是文件系统上的简单文本文件。

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

+0

听说过它,看过它,没有想过它这样。非常感谢 ;) – Younes 2010-09-10 13:02:51

2

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

所以,你不拥有实际的数据库模式,不应该在源代码控制中,但模板和其他项目呢? ,您是否为您的Sitecore网站创建?

对于解决方案中的Sitecore项目,您需要清楚地了解它们的所有权。 Sitecore附带的商品和模板不属于您,因此您不应在源代码管理系统中对其进行管理。然而,你和你的团队创建的模板应该在源代码控制中!

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