0

我还不熟悉 Commerce Server 及其开发工具。我知道其中包含一个数据库,用于存放正在出售的东西。可以建立一个有一个测试服务器和多个开发工作站的开发基础设施,并让它们共享数据库吗?我还会有一个单独的服务器来存放 CVS 存储库,多个开发人员将手动从 CVS 服务器中提取、工作并签入。测试服务器上的构建和部署工具将从 CVS 中提取并部署到测试服务器。我关心的是共享数据库,每个开发工作站都需要自己的数据库吗?寻找关于如何最好地处理多个开发人员、一个测试服务器和一个源代码控制系统的一般大纲。

4

4 回答 4

0

我从不尝试共享数据库,但我认为这不是一个好主意,因为所有开发环境都可以覆盖其他开发更改(在 DB 中)。

如果开发人员必须修改数据库结构,那可能会伤害到每个人。

我建议在每个开发环境上都有一个数据库,不必与测试环境相同。

对于您的测试服务器的构建和部署来说是好的。

于 2012-02-15T04:46:33.070 回答
0

你可以这样做。IBM 确实支持该配置。大多数开发人员使用 WCS Developer 附带的嵌入式 WCS 环境。它具有运行时以及 Apache Derby 作为数据库。

另外,我建议您与 IBM 产品专家交谈。他们可以告诉您最佳实践,并且您可以在购买软件时访问他。只需打开 PMR 并提出您的问题。

于 2012-10-15T17:25:47.463 回答
0

这取决于团队有多大?在我工作过的大多数小项目中,团队中的每个人都有自己的数据库,特别是当数据库是 Derby/Cloudscape 时,但是当涉及使用 DB2 或 Oracle 的大项目时,总是建议使用存储在其他机器中的共享数据库比每个人的本地机器。如果一个人删除数据,共享机器可能会导致问题,但这可以通过只有一个小备份等来解决。而另一方面,如果团队中的每个人都有自己的数据库,那么 Lead 很难确保每个人的数据库都是同步(即小更新 sql 需要在每个人的机器上运行,以使他们的工作站在每次从 CVS 同步代码后工作,这是日常工作)

于 2012-02-23T18:11:31.720 回答
0

为每个开发人员使用本地数据库。

然后使用像 liquibase 这样的东西来管理任何数据库结构的变化。要求将所有数据库更改编写脚本并将其放置在源存储库中,然后将 liquibase servlet 添加到您的 Stores 项目中。这样,当开发人员检查新内容时,本地数据库将在他们重新启动服务器时自动更新。

这还有一个额外的好处,即您的 sql 脚本实际上至少经过团队中的开发人员测试一次。

现在,理想情况下,您也会为您的开发人员使用 wcbd。但是由于这不会跟踪您的系统上已经运行了哪些脚本,因此编写超级防御性的 sql 脚本(检查该表是否已经将 X 列扩展为 Y 字符)变得非常烦人,或者如果数据加载,你可能会覆盖一些真正不应该的东西。

于 2015-05-06T20:57:40.890 回答