0

我已经模块化了我的共享代码,所以目前我有一个shared模块(kmp),在这个模块里面我有shared:coreshared:database(也是多平台的)。
如果我在共享模块中设置数据库,它可以工作:我将 AppDatabase.sq 放在共享的 commonMain 文件夹中,在 sqldelight/com/example/kmmbase/database/ 中,并且模式已正确生成。
另一方面,如果我尝试将它移动到shared:database模块中,它不会生成模式,驱动程序也不会编译。我将 AppDatabase.sq 文件添加到相同的路径,但现在位于shared:database模块的 commonMain 中,并将 sqldelight 插件和 gradle 配置从sharedgradle 文件移动到shared:databasegradle 文件。
我拥有的gradle配置如下:

sqldelight {
    database("AppDatabase") {
        packageName = "com.example.kmmbase.database"
        sourceFolders = listOf("sqldelight")
    }
}

我为 .sq 文件尝试了不同的位置,并且在每个位置上我都匹配 gradle config 的 packageName:

  • sqldelight/com/example/kmmbase/shared/
  • sqldelight/com/example/kmmbase/database/
  • sqldelight/com/example/数据库/
  • sqldelight/com/example/数据库/数据库/
  • sqldelight/数据库/
  • ...

知道我可能做错了什么吗?

编辑:这是一个带有代码的仓库。

4

0 回答 0