【发布时间】:2019-05-21 15:53:54
【问题描述】:
我在 sqflite 数据库中添加了一个新列。之后,更新应用程序时我无法使用我的应用程序。我应该卸载并重新安装。这种情况如何处理?
class HelperDatabase1 {
static final HelperDatabase1 _instance = HelperDatabase1.internal();
factory HelperDatabase1() => _instance;
static Database _db;
Future<Database> get db1 async {
if (_db != null) return _db;
_db = await initDb();
return _db;
}
HelperDatabase1.internal();
initDb() async {
io.Directory documentsDirectory = await getApplicationDocumentsDirectory();
String path = join(documentsDirectory.path, "HelperDatabase.db");
var theDb = await openDatabase(path, version: 2, onCreate: _onCreate);
return theDb;
}
void _onCreate(Database db, int version) async {
await db.execute("CREATE TABLE GetUserPreferenceTable(id INTEGER PRIMARY KEY AUTOINCREMENT, data INTEGER)");
}
在我的 main.dart 中
var helper;
void main() async {
// debugPaintSizeEnabled=false;
helper =
await HelperDatabase1();
【问题讨论】: