1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| val MIGRATION_1_2 = object : Migration(1, 2) { override fun migrate(database: SupportSQLiteDatabase) { database.execSQL(""" CREATE TABLE IF NOT EXISTS posts ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, title TEXT NOT NULL, content TEXT NOT NULL, userId INTEGER NOT NULL, createdAt INTEGER NOT NULL, FOREIGN KEY(userId) REFERENCES users(id) ON DELETE CASCADE ) """.trimIndent()) } }
val MIGRATION_2_3 = object : Migration(2, 3) { override fun migrate(database: SupportSQLiteDatabase) { database.execSQL(""" ALTER TABLE users ADD COLUMN phone TEXT """.trimIndent()) } }
val MIGRATION_3_4 = object : Migration(3, 4) { override fun migrate(database: SupportSQLiteDatabase) { database.execSQL("ALTER TABLE users RENAME TO users_new") database.execSQL(""" CREATE TABLE users ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, name TEXT NOT NULL, email TEXT NOT NULL, phone TEXT, createdAt INTEGER NOT NULL ) """.trimIndent()) database.execSQL("INSERT INTO users SELECT * FROM users_new") database.execSQL("DROP TABLE users_new") } }
|