我正在使用一个使用mysql作为数据库的项目。该应用程序由许多客户端托管,我们经常对当前的实时系统进行升级。
在某些情况下,客户端已更改数据库结构(添加新表)并导致一些意外的数据库崩溃。
我需要记录在该数据库中完成的所有结构更改,因此我们可以找到正确的根本原因。我们不能用diff工具100%正确,因为它不会显示中间变化。
我找到了http://www.liquibase.org/工具,但似乎有点复杂。
是否有任何众所周知的技术或工具来跟踪数据库结构更改。
答案 0 :(得分:1)
如果您的客户端有应用程序来管理这些架构更改,则可以在应用程序级别使用机制。如果您有基于Python和Django的解决方案,则可以使用South来提供架构更改跟踪和回滚。
答案 1 :(得分:1)
从mysql studio可以生成所有对象的模式定义,并将它们与标准模式定义进行比较,这样就可以比较两个数据库模式...
生成两个数据库的脚本(一个是客户端的数据库,一个是主副本数据库)然后使用文件比较工具进行比较将是我的最佳实践,因为这样你可以跟踪添加了哪个列,哪个列是已删除,在没有任何工具下载的情况下添加了哪个索引。
Compare two MySQL databases的可能重复? 希望这会有所帮助。