Skip to content

外鍵

您可以透過驅動程式的 onOpen 回呼為 Android SQLite 驅動程式啟用外鍵約束。

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") }
)

您可以透過在資料庫配置中啟用外鍵約束,來為原生 SQLite 驅動程式啟用此功能。

```kotlin
NativeSqliteDriver(
  schema = Database.Schema,
  onConfiguration = { config: DatabaseConfiguration ->
    config.copy(
      extendedConfig = DatabaseConfiguration.Extended(foreignKeyConstraints = true)
    )
  }
)