1

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つのレコードがあることがわかりました

答えとして歓迎されるようにデバッグする方法に関するヒント。ありがとう。

4

1 に答える 1