Skip to content

Commit

Permalink
Add migration fixture tests for sqlite
Browse files Browse the repository at this point in the history
  • Loading branch information
griffio committed Dec 8, 2023
1 parent 5bfbf32 commit 24b7519
Show file tree
Hide file tree
Showing 8 changed files with 57 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ class MigrationQueryTest {
checkFixtureCompiles("alter-table-rename-column", PostgreSqlDialect())
}

@Test fun `alter table rename column statements with sqlite`() {
checkFixtureCompiles("alter-table-rename-column-sqlite", app.cash.sqldelight.dialects.sqlite_3_25.SqliteDialect())
}

@Test fun `alter table alter column statement`() {
checkFixtureCompiles("alter-table-alter-column", PostgreSqlDialect())
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
CREATE TABLE test (
first TEXT NOT NULL
);
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ALTER TABLE test RENAME COLUMN first TO alpha;
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
insert:
INSERT INTO test (alpha) VALUES (?);

select:
SELECT *
FROM test;
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.example

import app.cash.sqldelight.Query
import app.cash.sqldelight.TransacterImpl
import app.cash.sqldelight.db.SqlDriver
import kotlin.String

public class DataQueries(
driver: SqlDriver,
) : TransacterImpl(driver) {
public fun select(): Query<String> = Query(-1_042_942_063, arrayOf("test"), driver, "Data.sq",
"select", """
|SELECT *
| FROM test
""".trimMargin()) { cursor ->
cursor.getString(0)!!
}

public fun insert(alpha: String) {
driver.execute(-1_320_712_882, """INSERT INTO test (alpha) VALUES (?)""", 1) {
bindString(0, alpha)
}
notifyQueries(-1_320_712_882) { emit ->
emit("test")
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.example

import kotlin.String

public data class Test(
public val alpha: String,
)
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
insertWhole:
insert:
INSERT INTO test
VALUES ?;
VALUES ?;
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,22 @@ package com.example

import app.cash.sqldelight.TransacterImpl
import app.cash.sqldelight.db.SqlDriver
import app.cash.sqldelight.driver.jdbc.JdbcPreparedStatement

public class DataQueries(
driver: SqlDriver,
private val testAdapter: Test.Adapter,
) : TransacterImpl(driver) {
public fun insertWhole(test: Test) {
driver.execute(-2_118_611_703, """
public fun insert(test: Test) {
driver.execute(-1_320_712_882, """
|INSERT INTO test (third, second)
|VALUES (?, ?)
""".trimMargin(), 2) {
check(this is JdbcPreparedStatement)
bindString(0, test.third)
bindString(1, test.second?.let { testAdapter.secondAdapter.encode(it) })
}
notifyQueries(-2_118_611_703) { emit ->
bindString(0, test.third)
bindString(1, test.second?.let { testAdapter.secondAdapter.encode(it) })
}
notifyQueries(-1_320_712_882) { emit ->
emit("test")
}
}
}

0 comments on commit 24b7519

Please sign in to comment.