我正在使用下面的代码,想知道如何更改此数据库功能,以便它一次创建两个单独的表:
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);
}
答案 0 :(得分:1)
我设法自己解决了这个问题:
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)');
}
它不起作用的原因是因为删除原始数据库后,我需要从冷启动模拟器以使其生效。