役立つと思われるトリックがいくつかあります。
まず、MySQLの/*! */
表記法を使用すると、MySQLが従うコードを追加できますが、他のDBは無視します(例:
create table Users (
id bigint not null auto_increment,
name varchar(40)
) /*! engine=InnoDB */
これは特効薬ではありませんが、MySQLとH2の構文の違いについて説明します。これはMySQL主義であるため、他のデータベースには役立ちませんが、他のほとんどのデータベースはMySQLほど風変わりではないため、おそらく必要ありません。データベースをMySQLからPostgreSQLに移行しましたが、これは必要ありません。 /*! */
表記法ですが、PostgreSQLはH2に十分似ているため、必要ありませんでした。
devとprodに異なる構成を使用する場合は、prodに追加の構成を用意することをお勧めします。これは、おそらくplay run
で開発サーバーを起動するためです。 、play stage; target/start
。 target/start
-Dconfig.resource
を取ることができます パラメータ。たとえば、追加の構成ファイルprod.conf
を作成します 次のような製品の場合:
include "application.conf"
# Extra config for prod - this will override the dev values in application.conf
db.default.driver=...
db.default.url=...
...
start_prod
を作成します 次のようなスクリプト:
#!/bin/sh
# Optional - you might want to do this as part of the build/deploy process instead
#play stage
target/start -Dconfig.resource=prod.conf
理論的には、逆の方法で、application.conf
を使用することもできます。 prod confを含め、dev.conf
を作成します ファイルですが、とにかくスクリプトでprodを開始する必要があります(おそらく、追加のJVM/メモリ/GCパラメータが必要になるか、rc.dなどに追加することになります)。