外部キー
Android SQLiteドライバーでは、ドライバーの onOpen
コールバックを介して外部キー制約を有効にできます。
kotlin
AndroidSqliteDriver(
schema = Database.Schema,
callback = object : AndroidSqliteDriver.Callback(Database.Schema) {
override fun onOpen(db: SupportSQLiteDatabase) {
db.setForeignKeyConstraintsEnabled(true)
}
}
)
JVM SQLiteドライバーでは、ドライバーのプロパティに設定を渡すことで、外部キー制約を有効にできます。
kotlin
JdbcSqliteDriver(
url = "...",
properties = Properties().apply { put("foreign_keys", "true") }
)
Native SQLiteドライバーの外部キー制約は、データベース設定で有効にすることで有効にできます。
kotlin
NativeSqliteDriver(
schema = Database.Schema,
onConfiguration = { config: DatabaseConfiguration ->
config.copy(
extendedConfig = DatabaseConfiguration.Extended(foreignKeyConstraints = true)
)
}
)