我已经模块化了我的共享代码,所以目前我有一个shared
模块(kmp),在这个模块里面我有shared:core
和shared:database
(也是多平台的)。
如果我在共享模块中设置数据库,它可以工作:我将 AppDatabase.sq 放在共享的 commonMain 文件夹中,在 sqldelight/com/example/kmmbase/database/ 中,并且模式已正确生成。
另一方面,如果我尝试将它移动到shared:database
模块中,它不会生成模式,驱动程序也不会编译。我将 AppDatabase.sq 文件添加到相同的路径,但现在位于shared:database
模块的 commonMain 中,并将 sqldelight 插件和 gradle 配置从shared
gradle 文件移动到shared:database
gradle 文件。
我拥有的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/数据库/
- ...
知道我可能做错了什么吗?
编辑:这是一个带有代码的仓库。