84 lines
2.3 KiB
Dart
84 lines
2.3 KiB
Dart
import 'dart:async';
|
|
import 'dart:io';
|
|
|
|
import 'package:floor/floor.dart';
|
|
import 'package:pj_supermarket_cloud/common/index.dart';
|
|
import 'package:pj_supermarket_cloud/common/services/database/database_migration.dart';
|
|
|
|
import 'package:sqflite/sqflite.dart' as sqflite;
|
|
|
|
part 'database.g.dart';
|
|
|
|
const entities = <Type>[
|
|
BroadcastEntity,
|
|
OrderEntity,
|
|
OrderHoldBillEntity,
|
|
CanteenSpuEntity,
|
|
SupermarketSkuEntity,
|
|
SupermarketSpuEntity,
|
|
SupermarketCodeEntity,
|
|
ShopCardEntity,
|
|
ClassifyEntity,
|
|
PrintHistoryEntity,
|
|
UserEntity,
|
|
FaceEntity,
|
|
SettingEntity,
|
|
];
|
|
|
|
const typeConverters = <Type>[
|
|
DateTimeConverter,
|
|
DateTimeEmptyConverter,
|
|
OrderStatusConverter,
|
|
OrderTypeConverter,
|
|
OrderPayTypeConverter,
|
|
SysTypeConverter,
|
|
PrintStatusConverter,
|
|
ProductHourTypeConverter,
|
|
SupermarketNatureConverter,
|
|
DiscountsTypeConverter,
|
|
ListDiscountsConverter,
|
|
ListIntConverter,
|
|
BoolConverter,
|
|
];
|
|
|
|
@Database(version: 7, entities: entities)
|
|
@TypeConverters(typeConverters)
|
|
abstract class AppDatabase extends FloorDatabase {
|
|
BroadcastDao get getBroadcastDao;
|
|
OrderDao get getOrderDao;
|
|
OrderHoldBillDao get getOrderHoldBillDao;
|
|
CanteenSpuDao get getCanteenSpuDao;
|
|
SupermarketSkuDao get getSupermarketSkuDao;
|
|
SupermarketSpuDao get getSupermarketSpuDao;
|
|
SupermarketCodeDao get getSupermarketCodeDao;
|
|
ShopCardDao get getShopCardDao;
|
|
ClassifyDao get getClassifyDao;
|
|
PrintHistoryDao get getPrintHistoryDao;
|
|
UserDao get getUserDao;
|
|
FaceDao get getFaceDao;
|
|
SettingDao get getSettingDao;
|
|
|
|
static Future<AppDatabase> getDataBase() async {
|
|
final dbPath = await AppFileTool.getDatabasePath();
|
|
final name = "$dbPath/${Constants.databaseName}";
|
|
final dataBase = await $FloorAppDatabase
|
|
.databaseBuilder(name)
|
|
.addCallback(
|
|
Callback(
|
|
onCreate: (database, version) async {
|
|
logger.i('数据库已创建,版本: $version');
|
|
},
|
|
onOpen: (database) async {
|
|
logger.i('数据库已打开');
|
|
},
|
|
onUpgrade: (database, startVersion, endVersion) {
|
|
logger.i('数据库已升级,版本: $startVersion -> $endVersion');
|
|
},
|
|
),
|
|
)
|
|
.addMigrations(DatabaseMigration.getDatabaseMigrations())
|
|
.build();
|
|
return dataBase;
|
|
}
|
|
}
|