2016-09-19 10 views
0

私のjhipsterがherokuにアップロードされたときにいくつかの問題が発生しましたが、いくつかの調査の後、開発中に行ったエンティティの変更がプロダクションDBでは行われないため、生産データベースの作成はJhipsterでどのように機能しますか?

また、Userエンティティにフィールドを追加しました。テーブルにフィールドがないうちに、ログイン/登録することもできません。

データベース生成がprodモードでどのように機能しているかを知りたいので、動作させることができます。それはliquibaseのchangelogの欠けていることに関連することができますか?(私は少しliquibaseので私は少し失われている)新しいです。

UPDATE:

問題は "jhi_user" テーブルから欠落している列のようです。私はデータベースの変更履歴を作成して、その不足している列を追加する必要があります。 "mvn liquibase:generateChangeLog"

コンソールに正しい変更履歴が表示されていましたが、変更履歴ファイルは作成されませんでした。何が間違っているのですか?

+0

'jhipster:heroku'を実行してから、' mvn install -Pprod'と 'heroku deploy:jar target/*。war'をもう一度実行しましたか? – codefinger

+0

はい、jhi_userテーブルの欠落したフィールドをinitial_schema.xmlに追加しようとしましたが、それでもまだ生産されていません。余分な列を追加するのが適切かどうかはわかりません。 –

答えて

0

yo jhipster:entityコマンドからエンティティを作成したときに変更ログが生成されなかった問題がありました。

mvn liquibase:diff 

プラスいくつかの手で行わチェンジし、それらをmaster.xmlする追加:

はやって問題を解決しました。その後

:次に

mvn liquibase:dropAll 
mvn liquibase:update 

は、Herokuのに展開し、すべてのテーブルが作成されました。

1

まず、ディレクトリ内のエンティティに対応する移行ファイルがあることを確認します

src/main/resources/config/liquibase/changelog/ 

そして、Herokuのアプリが実行して、データベースを持っていることを確認します。

heroku addons 

次にMavenを実行しますあなたのWARファイルを再パッケージする:

heroku deploy:jar target/*.war 

JHipsterはブート時に移行を実行します。 Postgresqlを使用している場合、heroku pg:psqlを実行し、\dのコマンドを使用してテーブルを検査できます。

+0

まずは、ありがとうございます。私はジェネレータから外部のエンティティにいくつかの変更を加えたので、問題はユーザーエンティティに直接関係しているようです。そのため、開発でデータベースに手動で追加した新しいフィールドは変更履歴にありませんでした。私はそれを追加しようとしましたが成功しませんでした(質問は編集されました) –

+1

既存の変更履歴を編集しましたか?すでに実行されているため、新しいものを作成する必要があります。 – codefinger

+0

グレートだから私は(コメントが更新された) –

関連する問題