В моей старой таблице sqlite у меня есть эти столбцы
(id INTEGER PRIMARY KEY AUTOINCREMENT, api_response_json TEXT, api_req TEXT, post_params TEXT, req_type VARCHAR, отметка времени TIMESTAMP)
Теперь я пытаюсь перенести его в Room DB следующим образом: -
статическая окончательная миграция MIGRATION_1_2 = новая миграция (1, 2) {
@Override
public void migrate(SupportSQLiteDatabase database) {
// Create the new table
database.execSQL(
"CREATE TABLE users_new (id INTEGER PRIMARY KEY AUTOINCREMENT,api_response_json TEXT, api_req TEXT,post_params TEXT,req_type VARCHAR,timestamp TIMESTAMP)");
// Copy the data
database.execSQL("INSERT INTO users_new (id,api_response_json, api_req,post_params,req_type,timestamp) "
+ "SELECT id,api_response_json, api_req,post_params, req_type,timestamp "
+ "FROM old_Table_name");
// Remove the old table
database.execSQL("DROP TABLE old_Table_name");
// Change the table name to the correct one
database.execSQL("ALTER TABLE users_new RENAME TO old_Table_name");}
};
Я получаю сообщение об ошибке. Миграция неправильно обработала
Ожидаемое:
TableInfo {name = 'api_data', column = {timestamp = Column {name = 'timestamp', type = 'TEXT', notNull = false, primaryKeyPosition = 0}, req_type = Column {name = 'req_type', type = 'TEXT ', notNull = false, primaryKeyPosition = 0}, post_params = Column {name =' post_params ', type =' TEXT ', notNull = false, primaryKeyPosition = 0}, id = столбец {name =' id ', type =' INTEGER ', notNull = false, primaryKeyPosition = 1}, api_response_json = столбец {name =' api_response_json ', тип =' TEXT ', notNull = false, primaryKeyPosition = 0}, api_req = столбец {name =' api_req ', type =' TEXT ', notNull = false, primaryKeyPosition = 0}}, foreignKeys = [], indices = []}
Найдено:
TableInfo {имя = 'api_data', столбцы = {timestamp = столбец {name = 'timestamp', type = 'TIMESTAMP', notNull = false, primaryKeyPosition = 0}, req_type = Column {name = 'req_type', type = 'VARCHAR ', notNull = false, primaryKeyPosition = 0}, post_params = Column {name =' post_params ', type =' TEXT ', notNull = false, primaryKeyPosition = 0}, id = столбец {name =' id ', type =' INTEGER ', notNull = false, primaryKeyPosition = 1}, api_response_json = столбец {name =' api_response_json ', тип =' TEXT ', notNull = false, primaryKeyPosition = 0}, api_req = столбец {name =' api_req ', type =' TEXT ', notNull = false, primaryKeyPosition = 0}}, foreignKeys = [], indices = []}
Проблема в TIMESTAMP и VARCHAR.