Skip to content

SQLステートメントは、src/main/sqldelight 配下の .sq ファイルに記述します。 通常、.sq ファイルの最初のステートメントでテーブルを作成しますが、インデックスの作成やデフォルトコンテンツのセットアップも可能です。

sql
CREATE TABLE hockeyPlayer (
  player_number INTEGER PRIMARY KEY NOT NULL,
  full_name TEXT NOT NULL
);

CREATE INDEX hockeyPlayer_full_name ON hockeyPlayer(full_name);

INSERT INTO hockeyPlayer (player_number, full_name)
VALUES (15, 'Ryan Getzlaf');

これらのステートメントから、SQLDelightはデータベースの作成やステートメントの実行に使用できる、`Schema`オブジェクトが関連付けられた`Database`クラスを生成します。`Database`クラスは`generateSqlDelightInterface` Gradleタスクによって生成されます。このタスクは、`.sq`ファイルを編集した際にSQLDelight IDEプラグインによって自動的に実行されるほか、通常のGradleビルドの一部としても実行されます。