【问题标题】:Can I use sqldelight with different databases in same project?我可以在同一个项目中将 sqldelight 与不同的数据库一起使用吗?
【发布时间】:2021-03-31 15:45:55
【问题描述】:

我想使用 SQLDelight 连接到 SQLite In-Memory 数据库进行测试并连接到 PostgreSQL 服务器进行生产,这种用例可能吗?我怎么能做配置?我是否需要为每个数据库提供 .sq 文件?

【问题讨论】:

    标签: sqldelight


    【解决方案1】:

    是的,你可以的。

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

    src/main/database1/
    src/main/database2/
    

    每个数据库都需要 .sq 文件吗?

    是的,你需要它。将您的 .sq 文件放入与打包相关的目录中:

    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 将为每个数据库生成单独的实现类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-09
      • 1970-01-01
      • 2023-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多