Jhipster プロジェクトを実行すると、Liquibase から「テーブルが既に存在します」というエラーが表示されます。
[ERROR] liquibase - classpath:config/liquibase/master.xml: classpath:config/liquibase/changelog/db-changelog-001.xml::1::jhipster: Change Set classpath:config/liquibase/changelog/db-changelog-001.xml::1::jhipster failed. Error: Error executing SQL CREATE TABLE fc.T_USER (login VARCHAR(50) NOT NULL, .....: Table 't_user' already exists
を使用して、Liquibase 変更ログ ファイルを config\liquibase\changelog ディレクトリに生成しました。
liquibase --driver=com.mysql.jdbc.Driver ^
--classpath=C:\Users\Greg\.IntelliJIdea13\config\jdbc-drivers\mysql-connector-java-5.1.31-bin.jar ^
--changeLogFile=db-changelog-001.xml ^
--url="jdbc:mysql://localhost/fc" ^
--username=root ^
generateChangeLog
そのため、変更ログが既存のデータベースのベースラインを設定していると私が思ったときに、何かが Liquibase をだましてデータベースを再作成しようとしています。
- Jhipster のバージョン: jhipster -v を実行すると 1.2 と表示されます。nmp update jhipster は、私が最新の = 17.2 にいると言います
- Liquibase のバージョンは 3.0、3.1、3.2 を試した
- XAMP の Mysql データベース
- 2 つのテーブルが Mysql に作成されます - databasechangelog と databasechangeloglock
- databasechangelog は空のままで、Jhipster アプリの実行時に databasechangeloglock にレコードが追加されます
このプロセスは機能していましたが、新しいコンピューターに移動してからではありません。それが機能していたとき、databasechangelogにいくつかのレコードとdatabasechangeloglockに1つのレコードがあることがわかりました
答えとして歓迎されるようにデバッグする方法に関するヒント。ありがとう。