微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我想使用 sqlDelight 连接到 sqlite In-Memory 数据库进行测试,连接到 Postgresql 服务器进行生产,这种用例可行吗?我怎么做配置?我是否需要为每个数据库都有 .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 将为每个数据库生成单独的实现类。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。