代码之家  ›  专栏  ›  技术社区  ›  Younes

受版本控制的数据库(SiteCore)

  •  4
  • Younes  · 技术社区  · 14 年前

    我刚刚读了下面的帖子;

    Do you source control your databases

    我们正在使用SiteCore,通常将3个标准数据库连接到我们的MSSQL服务器。 我们有一个核心、主数据库和Web数据库。在SiteCore后端开发不同模板的过程中,我们都使用一个数据库,只需使用SiteCore CMS发布数据库更改。例如,当我创建一个数据模板时,我的同事在刷新他的“内容树”时会看到相同的数据模板出现。根据我在上面链接的文章中读到的内容,当您有多个版本的源代码和不同的数据库时,需要源代码控制。是否需要将我们的数据库置于源代码管理之下?考虑到这一点,我们知道SiteCore实际上正在处理向不同数据库等发布项目,并且我们都通过SiteCore CMS在同一个数据库上工作,我认为不需要这样做。我很好奇是否还有什么优势可以让数据库仍然处于版本控制之下。

    2 回复  |  直到 14 年前
        1
  •  5
  •   Yan Sklyarenko    14 年前

    SiteCore6引入了一个非常酷的特性,叫做项序列化。无需将整个数据库文件保持在源代码管理下。您可以只存储必要项的序列化版本。这些是文件系统上的简单文本文件。

    看一看 this blog post from Alex 了解更多详细信息。

        2
  •  2
  •   Sean Kearney    14 年前

    您链接到的日志以及随后的日志更适合您“拥有”数据库的自定义应用程序。也就是说,您已经创建了表、存储过程、视图等…我同意如果您创建了一个数据库,那么您的模式需要在源代码管理中。但是,对于SiteCore网站,您不“拥有”SiteCore数据库模式,因此不必在源代码管理中使用它。(不过,我希望SiteCore在源代码管理中具有模式;p)

    所以,您不拥有实际的数据库模式,不应该在源代码管理中使用它,但是您为SiteCore网站创建的模板和其他项呢?

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

    为了将特定的SiteCore项放入源代码管理中,可以使用Yan提到的SiteCore的内置序列化功能。你也可以使用类似的工具 Team Development for Sitecore 自动化此过程,并帮助在环境之间自动构建和部署项目。