我可以在同一个项目中对不同的数据库使用sqldelight吗?

我可以在同一个项目中对不同的数据库使用sqldelight吗?,sqldelight,Sqldelight,我想使用SQLDelight连接到一个SQLite内存数据库进行测试,并连接到PostgreSQL server进行生产,这个用例可能吗?如何进行配置?每个数据库都需要.sq文件吗?是的,你可以 首先,在模块的“src/main”目录中为每个数据库创建一个目录: src/main/database1/ src/main/database2/ 我需要每个数据库都有.sq文件吗 是的,你需要它。将.sq文件放入与packege关联的目录: src/main/database1/your/packa

我想使用SQLDelight连接到一个SQLite内存数据库进行测试,并连接到PostgreSQL server进行生产,这个用例可能吗?如何进行配置?每个数据库都需要.sq文件吗?

是的,你可以

首先,在模块的“src/main”目录中为每个数据库创建一个目录:

src/main/database1/
src/main/database2/
我需要每个数据库都有.sq文件吗

是的,你需要它。将.sq文件放入与packege关联的目录:

src/main/database1/your/package/name/database1.sq
src/main/database2/your/package/name/database2.sq
接下来,在模块的build.gradle文件中配置数据库:

sqldelight {
    database("Database1") {
        packageName = "your.package.name"
        sourceFolders = listOf("database1")
    }
    database("Database2") {
        packageName = "your.package.name"
        sourceFolders = listOf("database2")
    }
}
为每个数据库指定正确的(在上一步中创建的)sourceFolders非常重要

最后,为每个数据库实现SqlDeLight文档中提到的正确驱动程序

在使用数据库之前重新生成项目。SqlDeLight将为每个数据库生成单独的实现类