問題タブ [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.
scala - 1.sqlをロードしていないプレイエボリューション
Play を Slick 統合、Evolutions、および H2 データベースで実行しています。Play を dev モードで起動し、localhost:9000 (私は https を使用しています) にアクセスすると、データベースの「デフォルト」を進化させる必要があると言われました。ただし、conf/evolutions/default/1.sql にあるスクリプトは以下に表示されません。むしろ、以下のみを示します。
ただし、私のスクリプトは次のようになります。
当然、このテーブルのすべてのトランザクションは失敗します。少し構成が足りないのでしょうか?
sql-server - Playframework の進化 + SQL Server。正しいスキーマ スクリプトを生成しますか?
私は、evolutions + slick を実行して MSQLServer データベースのスキーマを生成しようとしても成功しませんでした。
Play 2.3.x、scala 2.11.6、slick、および SQLServer 2014 を使用しています。
接続することもできますが、生成されるスクリプトには、SQLServer が使用しない型である BOOLEAN や TIMESTAMP の使用など、データ型に関連する多くの「エラー」が含まれています。
スクリプトでは、BOOLEAN の代わりに BIT 型、TIMESTAMP の代わりに DATETIME 型、UUID の代わりに UNIQUEIDENTIFIER 型を使用する必要があります。
誰かがその回避策を知っていますか?
mysql - Play Framework: 進化スクリプトの SQL 構文エラーを修正するには?
データベースに新しいテーブルを作成するための SQL ファイルを進化スクリプトに追加しました。偶然、SQL スクリプトにタイプミスがありました。次に、 config setting を使用してアクティベーターを介して Play webapp を開始しましたapplyEvolutions.default=true
。その結果、run
webapp を使用すると、SQL 構文エラーとデータベースの不整合が原因でエラーが発生します。
構文エラーを修正しましたが、なぜか Play/Evolutions/Activator が私の修正を考慮していません。SQL スクリプトの間違った、修正されていないバージョンを実行しようとしています。これは、修正されていないバージョンの構文エラーを引用しているため、明らかです。修正した SQL スクリプトを Play に受け入れさせるにはどうすればよいですか?
さらに、Play は次のエラー メッセージを示しています。
ごく最近の Play、Evolution、および MySQL のバージョンを使用しています。
playframework-2.5 - Play Evolutions が失敗したときにエラーをログに記録する方法は?
私は Play Evolutions を使い始めたばかりで、なぜ失敗して DB が一貫性のない状態のままになるのかを理解するのはかなり難しいと思います。
Dev モードでは、デフォルトの HTML ページにエラーが表示されますが、どのステートメントが失敗したかは示されません。この特定のアプリケーションでは、JSON を返す REST API しか持っていないため、HTML エラーは適切ではないため、これも問題です。私は独自のエラーハンドラーを持っているので、おそらく最終的に一致しExceptionAttachment
てコンテンツ/スクリプトを自分で引き出し、JSON エラー応答でそれをエスケープします。ただし、これを PROD の実際のユーザーに戻したくないので、これは DEV モードでのみです。
さらにイライラするのは、失敗したときにステートメントをログに記録しないことです。ドライバーのログを有効にすることはできますが、障害が発生してからログを有効にするのは遅すぎます。
進化が失敗したときにログでより具体的なエラーを取得する方法はありますか?
scala - Play の進化が機能しない
私は Play 2.3.7 プロジェクトを持っていますが、どういうわけか進化がうまくいきません。
Scala 2.11 と sbt 0.13.5 を使用しています。また、Scala.js を使用しているため、Play プロジェクトのフォルダー構造は少し変わっています。
と言う設定ファイルがapplyEvolutions.default=true
あり、デフォルトのデータベースをPostgresとして指定しました。
何が悪いのか何か考えはありますか?にモデル フォルダがありますがjvm/app/models
、それが原因でしょうか?
また、誰かが進化がどのように機能するかを説明してもらえますか (少なくとも高レベルで)。モデルクラスのフィールドを認識し、データベースですでに表現されているフィールドを追跡しますか?