我们正在自动化在我们的数据库上创建/修改表的过程。我们将 ddls 保存在 github repo 中。如果定义已更改,我们的目标是删除并再次创建表。否则,没有变化。
假设我们有一个名为table1
脚步:
1. Query database to get ddl for table1.
2. Get ddl from github repo, check if there is any difference between github & ddl from database server.
3. If there is a difference, drop and create again
4. Else, no change.
对于比较,进行字符串比较是非常幼稚的(空间的变化并不意味着模式的变化)。
有没有比较的API?我正在专门寻找 python API。标准 diff 实用程序不能很好地比较 2 个 sql 文件。如果字段的顺序不同但整体 ddl 可能相同,它将创建差异。