スキーマの依存関係
別のモジュールに対するスキーマの依存関係を指定できます。
kotlin
// project-a/build.gradle.kts
sqldelight {
databases {
create("MyDatabase") {
packageName.set("com.example.projecta")
dependency(project(":ProjectB"))
}
}
}groovy
// project-a/build.gradle
sqldelight {
databases {
MyDatabase {
packageName = "com.example.projecta"
dependency project(":ProjectB")
}
}
}これは ProjectB 内の MyDatabase を探し、コンパイル時にそのスキーマを含めます。これを機能させるには、ProjectB に(この場合は MyDatabase という)同じ名前のデータベースが必要ですが、異なるパッケージで生成される必要があります。ProjectB の Gradle 設定は以下のようになります。
kotlin
// project-b/build.gradle.kts
sqldelight {
databases {
// 同じデータベース名
create("MyDatabase") {
package = "com.example.projectb"
}
}
}groovy
// project-b/build.gradle
sqldelight {
databases {
// 同じデータベース名
MyDatabase {
package = "com.example.projectb"
}
}
}deriveSchemaFromMigrations = true を使用する場合、このモジュールに依存するすべてのモジュールでもこの機能を有効にする必要があります。
