好的,所以问题可能出在我的方法liquibase上,我已经在数据库端实现了一些更改,并且我想创建更改集,所以我只需将一个新的sql文件添加到我的变更集中即可。当我尝试运行luquibase update命令时,出现错误,告诉我数据库中存在一些列。Liquibase:更新脚本(当数据库中已经实现了一些更改时)
对我来说,正常的是,在创建changeset脚本之前,我尝试在数据库中添加列(即使用PhpMyAdmin)。然后我想与其他开发人员分享这些变化,所以我生成了sql(来自我的更改),将其添加到sql文件中,然后使用变更集启动此文件。 有人可以告诉我我做错了什么吗?
这个问题涉及到当我向mysql表中添加一些新列的情况,然后我创建了SQL文件白色alter_table脚本,然后运行liquibase update命令。
我知道问题来自我的sql alter的重复。所以最好的解决方案是有两个数据库?一个用于测试新的SQL,另一个用于部署? – user1119698 2013-03-13 14:14:54
否。如果您想进行更改,请创建一个新的更改集并在本地应用。切勿手动更改数据库。 – 2013-03-13 15:17:01
本地=在我的情况下测试。我希望Liquibase能够识别我在数据库中的变化,并且可以将它们与变更集合在一起。不幸的是,当然,我只能使用变更集,但有时对我来说更好(特别是与相关的表)在PhpMyAdmin中创建sql。 – user1119698 2013-03-13 20:05:54