小编Het*_*aik的帖子

使用 flutter_moor 时如何阻止多次创建类数据库文件?

每当我在 flutter 应用程序中向数据库添加新行时,都会收到此错误:

警告(停泊):看起来您已多次创建数据库类AppDatabase。当这两个数据库使用相同的 QueryExecutor 时,将会出现竞争条件并可能损坏数据库。

我阅读了不同的文章,并推断我可能多次调用构造函数,但仍然没有找出解决方法。

以下是一些代码片段,供初始参考:

pubspec.yaml:

dependencies:
  flutter:
    sdk: flutter
  basic_utils: ^2.6.3
  cupertino_icons: ^1.0.0
  flutter_blue: ^0.7.3
  google_fonts: ^1.1.1
  http: ^0.12.2
  json_annotation: ^3.1.1
  logging: ^0.11.4
  #moor: ^3.4.0
  moor_flutter: ^3.1.0
  provider: ^4.3.3
  sqflite: ^1.3.2+3
  sqlite3_flutter_libs: ^0.3.0
  url_launcher: ^5.7.10

dev_dependencies:
  flutter_test:
    sdk: flutter
  build_runner: ^1.9.0
  chopper_generator: ^3.0.4
  json_serializable: ^3.3.0
  moor_generator: ^3.4.1

Run Code Online (Sandbox Code Playgroud)

moor_database.dart:

import 'package:moor_flutter/moor_flutter.dart';
part 'moor_database.g.dart';

@DataClassName('AvailableFunctionTable') //Final Table Name
class AvailableFunctionsTable extends Table {
  IntColumn get id => integer()();
  TextColumn get make => text().withLength(min: 1, max: 50)();
  TextColumn get …
Run Code Online (Sandbox Code Playgroud)

sql android dart flutter flutter-moor

3
推荐指数
1
解决办法
2292
查看次数

标签 统计

android ×1

dart ×1

flutter ×1

flutter-moor ×1

sql ×1