Удалить таблицу и воссоздать, если существует в sqflite флаттер - PullRequest
0 голосов
/ 07 марта 2019

Я хочу удалить таблицу перед заполнением данных сервера, если таковые существуют.

Запросы, которые я пытаюсь

 deleteOptionTable() async {
    final db = await database;
    db.rawDelete("Delete * from option");
  }
  dropTable() async {
    final db = await database;
    db.query('SELECT * FROM cloudnet360.db WHERE name =option and type=table');
  }

Я пробовал что-то подобное, но ничего не происходит.

void _insertOption(OptionsGroupList option) async {

    int idd =  dbHelper.dropTable();

    print('DROP TABLE: $idd');

    PreferencesConnector myprefs= PreferencesConnector();
    String merchantid=await myprefs.readString('merchantid');
    String hashkey=await myprefs.readString('hashkey');

    Map<String, dynamic> row = {
      DatabaseHelper.columnGroupId:option.grouprowid ,
      DatabaseHelper.columnGroupName: option.groupname,
      DatabaseHelper.columnIsRequired:option.isrequired ,
      DatabaseHelper.columnMerchantId: merchantid,
      DatabaseHelper.columnMerchantHashKey: hashkey,
    };
    int id = await dbHelper.insertOption(row);

    print('inserted option row id: $id');
  }

1 Ответ

0 голосов
/ 08 марта 2019

Действительно, ваш метод dropTable, похоже, фактически не удаляет ни одну таблицу:

Чтобы удалить (удалить) таблицу:

DROP TABLE IF EXISTS my_table

Чтобы очистить содержимое таблицы:

DELETE FROM my_table
...