下载地址
https://github.com/liquibase/liquibase/releases
根据自己的系统下载文件, 直接解压出来, 可执行文件.
免费命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
| //版本 liquibase --version
//查看liquibase支持的所有命令 liquibase --help
//查看此个命令支持的参数选项信息 liquibase 命令 --help
//查看目标数据库是否能连接成功、pro证书信息是否有效(使用高级命令) //当前目录需要有liquibase.properties文件 liquibase status
//前提:当前目录必须有liquibase.properties文件 //基于数据库信息生成一份原始changeLogFile文件 //数据库结构快照备份,备份完之后修改liquibase.properties的地址,运行 liquibase update 可快速迁移无需一个一个创建 liquibase generate-changelog
//前提:当前目录必须有liquibase.properties文件以及liquibase.properties定义的changeLogFile文件 //基于liquibase.properties属性里面定义的changeLogFile文件来更新、修改数据库 liquibase update
//前提:当前目录必须有liquibase.properties文件以及liquibase.properties定义的changeLogFile文件 //基于liquibase.properties属性里面定义的changeLogFile文件来更新、修改数据库(最多仅更新10个未部署的<changgeset>的语句,如果某个changeset之前已经部署过就不算) liquibase updateCount 部署changeset节点的个数
//前提:当前目录必须有liquibase.properties文件以及liquibase.properties定义的changeLogFile文件 //基于changeLogFile的文件生成具体的真正可在数据库运行的SQL语句 == 仅仅生成SQL语句不会在数据库中生效,如果想让SQL语句的数据库生效请使用 liquibase update liquibase update-sql
//其实就是展示databasechangelog的记录:FILENAME、ID、AUTHOR、DEPLOYMENT_ID liquibase history
//比对数据库结构 //选项参数参看:liquibase diff --help //liquibase diff //将比对结果保存在当前目录的diff.txt目录中 == 结果形式看下面的图片即可 //liquibase diff --outputFile=diff.txt //将比对结果保存在当前目录的diff.json目录中,且内容格式是json,结构化数据 //liquibase diff --format=json --outputFile=diff.json liquibase diff
//生成的文件,表示当前目标数据库在源库表结构相差的东西 //生成的文件最后可以使用(使得目标库与源库结构一致):liquibase update --changelog-file=diffChangelog.xml liquibase diff-changelog --changelog-file=diffChangelog.xml
//生成数据库结构、changlog文件内容显示 -- 仅能生成html文档 liquibase db-doc --output-directory=文档输出目录
//查看当前是否有用户在运行liquibase更改数据库结构 == 即表DATABASECHANGELOGLOCK是否有LOCKED=1的记录 liquibase list-locks
//释放锁 = 将表DATABASECHANGELOGLOCK的LOCKED=1的记录,修改LOCKED=0且将被锁的开始时间LOCKGRANTED、使用锁的IP地址LOCKEDBY都置空 //一般来说用不上,因为liquibase正常变更、退出会自动释放锁,如果非正常退出可能锁的状态没来得及释放,需要你手动执行该条命令释放,或者直接去数据库修改锁状态设为0即可 liquibase release-locks
//数据库结构快照 == 感觉跟 generate-changgelog差不多 == 文件存放在当前目录下 liquibase --outputFile=snapshot.text snapshot --snapshot-format=text liquibase --outputFile=snapshot.yml snapshot --snapshot-format=yml liquibase --outputFile=snapshot.json snapshot --snapshot-format=json
//表结构回滚 liquibase rollback 标签名
//基于某个changelog文件,表结构回滚最新部署的某几条变更(将SQL作用到数据库,建议使用这条命令前,先用 rollback-count-sql确认一下SQL语句) liquibase rollback-count 回滚最新部署的条数 //基于某个changelog文件,表结构回滚最新部署的SQL查看(未作用SQL部署到数据库,仅是看SQL的命令而已) liquibase rollback-count-sql 回滚最新部署的条数
//表结构回滚到某一个时间节点的部署 == 原本部署的是新增,回滚即是删除,如果原本部署的是删除,回滚新增是不支持的 //下面的语句是等价于 liquibase rollback-to-date yyyy-MM-dd 00:00:00 liquibase rollback-to-date yyyy-MM-dd //具体的时间节点 -- 更建议加上详细的时间点上去 liquibase rollback-to-date yyyy-MM-dd HH:mm:ss
liquibase tag v1.0
liquibase rollback v1.0
liquibase history
|