我正在做一个小组项目,我们都有一个在本地计算机上运行的 mysql 数据库。该表主要包含用于图像处理的文件名和统计信息。我们都会运行一些处理,用结果更新本地数据库。
我想知道一旦有人更改了他们的数据库,更新其他人的数据库的最佳方法是什么。
我的想法是在每次处理运行后执行mysqldump
,并让 git (我们虔诚地使用它)跟踪该文件。我已经为数据库编写了一堆Python utils,当我们检测到数据库落后时,将这个转储读入数据库就足够简单了。不过,我真的不想这样做,以免每次提交时都会出现不必要的 10-50Mb 文件,从而堵塞我们的 git 存储库。
有谁知道更好的方法吗?
*我还要指出,我们是航空航天专业的学生。我有一些数据库经验,但这只是出于需要。我们很忙,我不想成为一名 IT 网络专家。只是想让他们放手,因为他们是数据库菜鸟,每当我告诉他们对数据库做任何事情时,他们都会表现出恐惧的表情。到目前为止,我已经帮他们放手了。
最佳答案
您可能需要考虑遵循 Rails 风格的数据库迁移概念,即在开发时提供前滚和回滚 SQL 语句作为补丁,允许您将数据库滚动到任何特定的修订状态是必需的。
当然,这通常仅用于处理架构更改(即您不必担心修改可能动态填充到表中的数据。)。对于内容基本静态的配置表或类似表,您当然也可以添加迁移。
Google 搜索“rails migrations for python”出现了许多结果,其中包括以下工具:
关于mysql - 如何在计算机之间更新mysql表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14384929/