【发布时间】:2020-02-16 03:31:27
【问题描述】:
我希望 Liquibase 从此数据库“测试”中生成更改日志。有可能吗?
我已经有一个现有的数据库,里面有它的表和数据。
jdbc:mysql://localhost:3306/testing
现在,我希望 Liquibase 从这个数据库“测试”中生成更新日志。有可能吗?
这是我的命令,但它不起作用。
liquibase --driver=com.mysql.jdbc.Driver --classpath=C:\mysql-connector-java-5.1.47.jar
--changeLogFile=C:\db.changelog.xml --url="jdbc:mysql://localhost:3306/testing"
--username=root generateChangeLog
我不使用任何密码。
错误与--changeLogFile=C:\db.changelog.xml有关
我想,Liquibase 会引用我的 DB 'testing',并在文件夹 C 中生成名为 'db.changelog.xml' 的更改日志。
我错了哪一部分?我错过了什么吗?
或者,Liquibase 不打算从现有数据库生成更改日志?
或者,Liquibase 的目的是仅从变更日志生成数据库?反之亦然?
【问题讨论】:
-
这是可能的。您可能会遇到麻烦,因为您正在写入 c: 驱动器根目录中的文件。请改用
c:\temp\changelog。请记住,每次运行脚本时,您都需要有一种方法来增加更改日志。我不记得它是通过将日志写入它读取的数据库来做到这一点,还是需要以前的更改日志文件... -
@JoSSte 谢谢,它有效。抱歉,我不明白这部分“每次运行脚本时增加变更日志的方法” - 为什么我们需要增加变更日志
-
我将尝试详细说明完整的答案
标签: liquibase liquibase-hibernate liquibase-sql