問題タブ [playframework-evolutions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
postgresql - Play 2.6 evolutions DB の変更は適用されません
私のプロジェクトは最近 Play 2.5 から 2.6.13 に更新されました。新しいスクリプト 16.sql を追加しましたが、変更がテーブルplay_evolutionsに適用されませんでした
ドキュメント 2.6によると、EvolutionsComponents
コンパイル時 DI を使用する場合は注入する必要があります。しかし、Guice はランタイム DI であるため、コンポーネントを注入する必要はありません。
で進化を可能にしましたbuild.sbt
application.conf 内
私のプロジェクトには何が欠けていますか? gitの例は大歓迎です
scala - 増分データベース スキーマの進化をどのように扱うべきか
私は、永続化レイヤーとしてデータベースを備えた Play フレームワークを利用したアプリケーションを持っています (そのために Slick を使用しています)。進化を有効にし、1.sql
ファイルを生成し、本番環境に正常にロールアウトしました。
クライアントは、データベース スキーマの変更を必要とする新機能を要求します。新しいテーブルの追加、新しい列の追加、および既存の列の null 可能性の変更。
すべての Slick のテーブル定義と関連するコードが更新されたら、もう一度スキーマを生成して として配置し2.sql
ます。Evolutions は正しく実行するように要求されますが... 生成された Evolutions は 1.sql 状態の上に増分更新を反映するのではなく、データベース スキーマを最初から作成する方法を示します (つまり、新しいものを含むすべての列を含む CREATE TABLE ではなくADD COLUMN ケースより)。
リビジョン #1 からリビジョン #2 (#1 と #2 の間の SQL "差分") にデータベースを取得するために本番環境で簡単に実行できるように、増分更新を実現することは可能ですか、またはそれらの進化を手動で作成する必要がありますか? ?