feat: add rows count (broken), fix: bug with low stock items

This commit is contained in:
2026-08-02 23:23:28 +02:00
parent f5b2041612
commit 6060ca2713
19 changed files with 373 additions and 41 deletions
+19 -3
View File
@@ -2,7 +2,6 @@ import 'package:drift/drift.dart';
import 'package:drift_flutter/drift_flutter.dart';
import 'package:path_provider/path_provider.dart';
part 'app_database.g.dart';
@DataClassName('ProductRow')
@@ -111,6 +110,8 @@ class AppSettingsTable extends Table {
TextColumn get language => text().withDefault(const Constant('system'))();
IntColumn get barGridRows => integer().withDefault(const Constant(3))();
@override
Set<Column> get primaryKey => {id};
}
@@ -131,7 +132,7 @@ class AppDatabase extends _$AppDatabase {
AppDatabase([QueryExecutor? executor]) : super(executor ?? _openConnection());
@override
int get schemaVersion => 7;
int get schemaVersion => 8;
@override
MigrationStrategy get migration {
@@ -140,6 +141,14 @@ class AppDatabase extends _$AppDatabase {
await migrator.createAll();
},
onUpgrade: (migrator, from, to) async {
Future<bool> hasSettingsColumn(String columnName) async {
final columns = await migrator.database
.customSelect('PRAGMA table_info(app_settings)')
.get();
return columns.any((column) => column.data['name'] == columnName);
}
if (from < 2) {
await migrator.createTable(barTabs);
await migrator.createTable(tabItems);
@@ -162,9 +171,16 @@ class AppDatabase extends _$AppDatabase {
await migrator.addColumn(closedTabs, closedTabs.paymentMethod);
}
if (from < 7) {
if (from < 7 && !await hasSettingsColumn('language')) {
await migrator.addColumn(appSettingsTable, appSettingsTable.language);
}
if (from < 8 && !await hasSettingsColumn('bar_grid_rows')) {
await migrator.addColumn(
appSettingsTable,
appSettingsTable.barGridRows,
);
}
},
);
}