import 'dart:async'; import 'package:floor/floor.dart'; import 'package:pj_supermarket_cloud/common/index.dart'; import 'package:sqflite/sqflite.dart' as sqflite; part 'database.g.dart'; const entities = [ OrderEntity, CanteenSpuEntity, SupermarketSkuEntity, SupermarketSpuEntity, ShopCardEntity, ClassifyEntity, PrintHistoryEntity, UserEntity, FaceEntity, SettingEntity, ]; const typeConverters = [ DateTimeConverter, DateTimeEmptyConverter, OrderStatusConverter, OrderTypeConverter, OrderPayTypeConverter, SysTypeConverter, PrintStatusConverter, ListIntConverter, BoolConverter, ]; @Database(version: 1, entities: entities) @TypeConverters(typeConverters) abstract class AppDatabase extends FloorDatabase { OrderDao get getOrderDao; ProductDao get getProductDao; ShopCardDao get getShopCardDao; ClassifyDao get getClassifyDao; PrintHistoryDao get getPrintHistoryDao; UserDao get getUserDao; FaceDao get getFaceDao; SettingDao get getSettingDao; static Future getDataBase() async { final dbPath = await AppFileTool.getDatabasePath(); final dataBase = await $FloorAppDatabase .databaseBuilder("$dbPath/${Constants.databaseName}") .addCallback( Callback( onCreate: (database, version) async { logger.i('数据库已创建,版本: $version'); }, onOpen: (database) async { logger.i('数据库已打开'); }, onUpgrade: (database, startVersion, endVersion) { logger.i('数据库已升级,版本: $startVersion -> $endVersion'); }, ), ) .addMigrations([]).build(); return dataBase; } }