Reputation: 331
I want to use SQLDelight to connect to a SQLite In-Memory database for test and to PostgreSQL server for production, is that use case possible? how I can do the config? and do I need to have .sq files for each database?
Upvotes: 4
Views: 2023
Reputation: 375
Yes, you can it.
First, create one directory for each database in the "src/main" directory of your module:
src/main/database1/
src/main/database2/
do I need to have .sq files for each database?
Yes, you need it. Put your .sq files into packege-associated directory:
src/main/database1/your/package/name/database1.sq
src/main/database2/your/package/name/database2.sq
Next, configure your databases in module's build.gradle file:
sqldelight {
database("Database1") {
packageName = "your.package.name"
sourceFolders = listOf("database1")
}
database("Database2") {
packageName = "your.package.name"
sourceFolders = listOf("database2")
}
}
It is important to specify the correct (created in the previous step) sourceFolders for each database.
Finally, implement the correct driver for each database as mentioned in the SqlDeLight documentation.
Rebuild your project before use databases. SqlDeLight will generate separated implementations classes for each database.
Upvotes: 12