Grails アプリのテストに H2 データベースを使用しています。次のようないくつかの単純なドメイン クラスがあります。
package mypackage
class UserSession {
User user
String sessionTokenHash
// last seen info
String lastSeenIP
Date lastSeenTime
String lastSeenUserAgent
String lastSeenURL
}
ただし、テーブルが正しく作成されていないようです。
hbm2ddl.SchemaExport 失敗: テーブル user_session を作成します (id bigint は null ではありません auto_increment、バージョン bigint は null ではありません、last_seenip varchar(255) は null ではありません、last_seen_time datetime は null ではありません、last_seenurl varchar(255) は null ではありません、last_seen_user_agent varchar(255) は null ではありません、session_token_hash varchar(255) null ではない、user_id bigint null ではない、主キー (id)) ENGINE=InnoDB hbm2ddl.SchemaExport SQL ステートメントの構文エラー "CREATE TABLE USER_SESSION (ID BIGINT NOT NULL AUTO_INCREMENT, VERSION BIGINT NOT NULL, LAST_SEENIP VARCHAR(255) NOT NULL, LAST_SEEN_TIME DATETIME NOT NULL, LAST_SEENURL VARCHAR(255) NOT NULL, LAST_SEEN_USER_AGENT VARCHAR(255) NOT NULL、SESSION_TOKEN_HASH VARCHAR(255) NOT NULL、USER_ID BIGINT NOT NULL、主キー (ID)) ENGINE=[*]INNODB "; 期待される「識別子」; SQL ステートメント: create table user_session (id bigint not null auto_increment, version bigint not null, last_seenip varchar(255) not null, last_seen_time datetime not null, last_seenurl varchar(255) not null, last_seen_user_agent varchar(255) not null, session_token_hash varchar(255) not null null, user_id bigint not null, 主キー (id)) ENGINE=InnoDB [42001-147]
モードで一時的なインメモリ H2 データベースを使用するように設定されていcreate-drop
ます。