OnUpgrade SQFLITE: необработанное исключение: DatabaseException (таблица UsernameTable не имеет столбца с именем RememberMe (Sqlite код 1): - PullRequest
0 голосов
/ 27 мая 2019

Необработанное исключение: DatabaseException (таблица UsernameTable не имеет столбец с именем RememberMe (Sqlite code 1):, во время компиляции: INSERT OR ЗАМЕНИТЕ В UsernameTable (username, RememberMe) ЗНАЧЕНИЯ (?,?), (ОС ошибка - 2: нет такого файла или каталога)) sql 'INSERT OR REPLACE INTO Имя пользователяTable (имя пользователя, RememberMe) VALUES (?,?) 'Args [term @ melfs, 1]}

Я обновил свою БД. Я добавил новый столбец в таблицу UsernameTable. Но это не работает. У меня уже так много записей в этой БД. Я не могу drop Итак, как мне добавить новый столбец к существующей БД. Я использовал Sqflite

 initDb() async {
    io.Directory documentsDirectory = await getApplicationDocumentsDirectory();
    String path = join(documentsDirectory.path, "HelperDatabase.db");
    var theDb = await openDatabase(path, version: 4, onCreate: _onCreate, onUpgrade: _onUpgrade);
    return theDb;
  }

Метод OnUpgrade.

 void _onUpgrade(Database db, int oldVersion, int newVersion)async{
  if(oldVersion != 5){
      await db.execute("ALTER TABLE UsernameTable ADD COLUMN rememberMe INTEGER DEFAULT 0");
    }
  }

при создании метода

  void _onCreate(Database db, int version) async {
 await db.execute("""CREATE TABLE UsernameTable(username STRING)""");
}
...