每当我在 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)