SQLファイルを追加する

多くの場合insert-sqlが追加のSQLオペレーションを実行したいと願うでしょう(例えば、ビューを追加する、ストーアドプロシージャ、トリッガ、サンプルデータ、など)。オブジェクトモデルをリビルドするたびにあなた自身が追加のSQL文を実行するために、Propelジェネレータにこの作業を行わせることが出来ます。

1. SQL DDLファイルを作成する

データベースに対して実行したい追加のSQLファイルを作成して下さい(ベースのschema.sqlファイルが適用された後です)。

例えば、デフォルトの値をスキーマでサポートされていないカラム(例えば値がSQL関数)に追加したい場合です:

-- (for postgres)
ALTER TABLE my_table ALTER COLUMN my_column SET DEFAULT CURRENT_TIMESTAMP;

同じディレクトリでmy_column-default.sqlとして保存することでschema.sqlファイル(通常はprojectdir/build/sql/)として生成されます。

2. 新しいファイルの存在をPropelジェネレータに伝える

同じディレクトリ(schema.sqlが設置される場所)で、データベースに対するSQL DDLファイルのマッピングを持つsqldb.mapファイルが存在します。propelジェネレータを実行した後で、おそらく次のようなファイルに次のエントリを持つことになります:

schema.sql=your-db-name

新しいファイルをこのファイルに追加したいとします(将来のビルドによってこのファイルに追加するものが保存されます)。私達がしたとき、ファイルは次のようになります:

schema.sql=your-db-name
my_column-default.sql=your-db-name

insert-sql Propelジェネレータターゲットを実行するとき、my_column-default.sqlファイルはyour-db-nameデータベースに対して実行されます。