データベースの現在の状態のスナップショットから始めて、changeLogを生成するためにliquibaseを使用しようとしています。
環境の詳細:
- OS:Windows 7 32 x86、
- Java JDK 1.7、
- MySQLのmysqljdbcドライバー
- liquibase2.0.5。
コマンドラインから次のコマンドを実行します。
liquibase --driver=com.mysql.jdbc.Driver --changeLogFile=./structure.xml --url="jdbc:mysql://mysql.mysite.com" --username=<myuser> --password=<mypass> generateChangeLog
正常に動作し、出力ファイルを生成しました。ただし、出力ファイルには次のものが含まれています。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-2.0.xsd"/>
そして、私のデータベースにはテーブルが作成されていません(追跡に使用される2つのテーブルを期待していました)。
私は何が欠けていますか?
編集
はい、liquibasechanlogテーブルとliquibasechangelockテーブルを参照しています。それらはデータベースに自動的に表示されるはずです。私の質問は、なぜ彼らがそこにいないのかということです。そして、はい、提供されたユーザーはそのようなタスクを実行するために付与された権利を持っています。
そして、それは空のデータベースではありません。20近くのテーブル、10のビュー、データがあります...