[Seasar-user:15711] Re: s2jdbc-gen + Oracle について
neko akira
[E-MAIL ADDRESS DELETED]
2008年 9月 9日 (火) 17:38:48 JST
あきらです
すみません、現状までかけばよかったですね
> そうですね。
> ここははまりそうなので、次のバージョンから
> 自動で生成するように対応したいと思います。
おねがいいたします!
ただメンバーでさらの状態からだと0000のDROPで失敗するので
gen-entity の時に SCHEMA_INFO テーブルを作成して状態を1に変えちゃう。。。
でも少し乱暴ですよね
悩ましいところかもしれません
>> また、一番先頭のカラムは auto_increment 系のIDじゃないと
> そのような制限はありません。
> 動かないとはどういうことですか?
> シーケンスで採番した値が重複するということでしょうか?
これは、プライマリキーに auto_increment がついてきました
====================================================
CREATE TABLE test_table(
PRIMARY KEY(title),
title varchar(256)
);
INSERT INTO test_table values( 'aaa' );
INSERT INTO test_table values( 'bbb' );
INSERT INTO test_table values( 'ccc' );
====================================================
上記のようなテストDBからgenを実行するとDDLが
====================================================
create table TEST_TABLE (TITLE varchar(256) not null auto_increment,
constraint TEST_TABLE_PK primary key(TITLE));
create table SCHEMA_INFO (VERSION int);
insert into SCHEMA_INFO (VERSION) values (1);
====================================================
こう生成されます。varchar に auto_increment はつかないのでエラーとなります。
プライマリーキーをつけなければ auto_increment はついてきません
> 0001/createの下のファイルを名前の昇順に実行しているのですが
> 010-create-table.sqlが成功した以降でSQLの実行に失敗して
> いないでしょうか?
> エラーログが出ていたら見せてください。
(説明のため原文から前後しています)
SQLをすべて消してデータだけにしてみたのですがエラーは
でていませんでした。。。
====================================================
CREATE TABLE test_table(
title varchar(256)
);
INSERT INTO test_table values( 'aaa' );
INSERT INTO test_table values( 'bbb' );
INSERT INTO test_table values( 'ccc' );
====================================================
上記のDBからgenすると
=010-create-table.sql=====================================
create table TEST_TABLE (TITLE varchar(256));
create table SCHEMA_INFO (VERSION int);
insert into SCHEMA_INFO (VERSION) values (1);
====================================================
と
=040-drop-table.sql======================================
drop table TEST_TABLE;
drop table SCHEMA_INFO;
====================================================
と
=040-dump/test_table.csv=================================
"TITLE"
"aaa"
"bbb"
"ccc"
====================================================
が出来上がりました。
見た限り問題はないですし、SQLをすべて消しても同じ結果でした
環境はWindowsXP上にXAMPPを利用してMySQL5.0.51aを利用しています。
コネクタは mysql-connector-java-5.1.6 を利用しています。
以上簡単ですがよろしくおねがいいたします
あきら
Seasar-user メーリングリストの案内