[Seasar-user:16016] Re: [S2JDBC-Gen] Exe-Sql について

あきら [E-MAIL ADDRESS DELETED]
2008年 10月 17日 (金) 00:53:47 JST


あきらです

>> useCurrentVersionDirectoryオプションなどを追加してtrueにすると
>> CurrentVersionDirectory + dir のフォルダから探すとうれしいなと
>> 思いました。
> なるほど。
> ちなみに、どういった用途で使いたいですか?

Migrateとは違うオプションでの実行で使いたいかなって思いました
今回はOracleのストアドを呼び出したいときに

CREATE OR REPLACE PROCEDURE PROC_RESULTSETS
( empCur OUT SYS_REFCURSOR,
  deptCur OUT SYS_REFCURSOR,
  employeeId IN NUMERIC,
  departmentId IN NUMERIC
) AS
BEGIN
  OPEN empCur FOR SELECT * FROM EMPLOYEE WHERE employee_id >
employeeId ORDER BY employee_id;
  OPEN deptCur FOR SELECT * FROM DEPARTMENT WHERE department_id >
departmentId ORDER BY department_id;
END PROC_RESULTSETS;
/

上記のような形の場合 / で区切って欲しいのですが、通常の設定の場合BEGIN中の;で
SQLが分断されてしまいます。(上記の場合/でも;でも区切られるのがOracleのGenの設定だと思いました)

gen-ddlからstatementDelimiterを/で設定すればよいのですが
別で逃げれないかなって思いました

ただ結局は/に設定して動かしています。。。
逆にcreateには入れておきたくないけれど、任意のタイミングに実行したいSQLなどは

0000/create/
0000/drop/
0000/user/

などと自動実行しない場所に退避させておきたいと思っています。

dumpやloadも本当は複数のデータをuserフォルダなどに入れておき
単独でその状態に変更するなどを実現できればなと思っています。

この辺は create のフォルダ名を設定できるようになればどこに対して
処理を行うかの指定でdumpやloadが便利かなって思っています。

現状の場合には

/db/migrate/0000/create/ 通常のデータ
/db/migrate-test/0000/create/ 100万件動作検証データ

などのフォルダ構成になるのかなと思っています。

ただバージョン番号で管理されているのよりは、きれいにするドロップタスクと
最終バージョンの構成を作ってデータ流し込む構成の方が管理は楽かもと
思っていたりもします。。。

#これも現状でも設定とタスク追加でできそうな気もします

私はs2jdbc-gen中心に検証していますが、コストメリット的にはs2jdbc本体
を充実させた方がいいと思うので、参考までになればと思います!

あきら


Seasar-user メーリングリストの案内