我想知道如何在开源项目中管理数据库,这些项目通常托管在 CVS 或 SVN 等存储库中。将代码放在 SVN 中是非常合乎逻辑的,因为它允许不同的团队成员获取更新的代码片段,但是数据库呢?

它们的架构和内容(我假设是 .sql 文件)也放置在 SVN 中吗?在这种情况下,如果我要创建一个 Web 应用程序,是否需要开发人员继续使用最新的 .sql 文件更新其本地数据库?

或者,它更像是拥有一个成员可以修改的中央服务器,并且他们的软件只是通过网络连接到?

我计划启动一个开源 Web 应用程序项目(需要使用数据库),但对如何进行数据库管理部分有点困惑。

有帮助吗?

解决方案

根据我的经验,这些类型的应用程序通常包括构建中包含的数据库设置。通常,您必须在需要的地方安装数据库,然后安装客户端。此外,通常这些数据库也是开源的,如MySQL或其他东西。

其他提示

通常您会包括一两件事:

  • 架构创建脚本
  • 要加载到数据库中的初始数据

这两个都应该是 文本 文件。如果您的数据在加载到 DBMS 之前需要任何特殊处理,那么也请包含一个用于此目的的工具。

你应该做的一件事 不是 要做的就是在源代码管理中包含任何特定的二进制数据库文件。例如,SQLite 数据库文件就不合适。二进制数据库文件通常不能跨架构或版本移植。

这取决于您正在进行的项目。例如,如果所有开发人员都在一个公司的同一位置,则中央数据库服务器可能是适用的。如果开发人员分布在世界各地,那么中央数据库服务器可能是不可能的,每个开发人员都会创建自己的数据库副本以供开发。

我认为最常见的选择是每个开发人员都使用自己的数据库。

在任何情况下,您都希望在版本控制中保留架构创建和初始数据创建文件。这样,所有开发人员都可以轻松创建新数据库。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top