add tables to database

This commit is contained in:
2025-06-28 10:22:19 +02:00
parent ff2b91e77e
commit 35cd9213af

View File

@@ -1,34 +1,18 @@
import 'package:drift/drift.dart';
import 'package:drift_flutter/drift_flutter.dart';
import 'package:path_provider/path_provider.dart';
import 'package:game_tracker/data/tables/user_table.dart';
import 'package:game_tracker/data/tables/group_table.dart';
import 'package:game_tracker/data/tables/user_group_table.dart';
import 'package:game_tracker/data/tables/game_table.dart';
import 'package:game_tracker/data/tables/match_table.dart';
import 'package:game_tracker/data/tables/result_score_table.dart';
import 'package:game_tracker/data/tables/result_win_table.dart';
import 'package:game_tracker/data/tables/result_placement_table.dart';
part 'database.g.dart';
class User extends Table {
TextColumn get id => text()();
TextColumn get name => text()();
@override
Set<Column<Object>> get primaryKey => {id};
}
class Group extends Table {
TextColumn get id => text()();
TextColumn get name => text()();
@override
Set<Column<Object>> get primaryKey => {id};
}
class UserGroup extends Table {
TextColumn get userId => text().references(User, #id)();
TextColumn get groupId => text().references(Group, #id)();
@override
Set<Column<Object>> get primaryKey => {userId, groupId};
}
@DriftDatabase(tables: [User, Group, UserGroup])
@DriftDatabase(tables: [UserTable, GroupTable, UserGroupTable, GameTable, MatchTable, ResultScoreTable, ResultWinTable, ResultPlacementTable])
class AppDatabase extends _$AppDatabase {
AppDatabase([QueryExecutor? executor]) : super(executor ?? _openConnection());