Flutter SQFLite создает несколько таблиц одновременно - PullRequest
1 голос
/ 03 ноября 2019

Я использую приведенный ниже код и хочу знать, как можно изменить эту функцию базы данных, чтобы она одновременно создавала две отдельные таблицы:

  static Future<Database> database() async {
    final dbPath = await sql.getDatabasesPath();
    return sql.openDatabase(path.join(dbPath, 'mydatabase.db'), onCreate: (db, version) {
      return db.execute('CREATE TABLE mytable(date TEXT PRIMARY KEY, value DOUBLE)');
    }, version: 1);
  }

1 Ответ

1 голос
/ 03 ноября 2019

Мне удалось решить это самому так:

   static Future<Database> database() async {
    final dbPath = await sql.getDatabasesPath();
    return sql.openDatabase(path.join(dbPath, 'mydatabase.db'), onCreate: (db, version) => _createDb(db), version: 1);
  }

  static void _createDb(Database db) {
    db.execute('CREATE TABLE mytable(date TEXT PRIMARY KEY, value DOUBLE)');
    db.execute('CREATE TABLE mytableb(date TEXT PRIMARY KEY, value DOUBLE)');
  }

Причина, по которой он не работал, заключалась в том, что после удаления исходной базы данных мне пришлось перезапустить симулятор с холода, чтобы он вступил в силу.

...