Datenbankstruktur für Spiele #16

Merged
flixcoo merged 22 commits from feature/13-datenbankstruktur-fuer-spiele into development 2025-11-15 15:56:40 +00:00
3 changed files with 12 additions and 6 deletions
Showing only changes of commit b6700bafd9 - Show all commits

View File

@@ -3,8 +3,10 @@ import 'package:game_tracker/data/db/tables/group_table.dart';
import 'package:game_tracker/data/db/tables/player_table.dart'; import 'package:game_tracker/data/db/tables/player_table.dart';
class GroupGameTable extends Table { class GroupGameTable extends Table {
TextColumn get groupId => text().references(PlayerTable, #id)(); TextColumn get groupId =>
TextColumn get gameId => text().references(GroupTable, #id)(); text().references(PlayerTable, #id, onDelete: KeyAction.cascade)();
flixcoo marked this conversation as resolved
Review

Müsste PlayerTable nicht GameTable sein? ist ja die Verbindungstabelle von group und game

Müsste PlayerTable nicht GameTable sein? ist ja die Verbindungstabelle von group und game
TextColumn get gameId =>
text().references(GroupTable, #id, onDelete: KeyAction.cascade)();
@override @override
Set<Column<Object>> get primaryKey => {groupId, gameId}; Set<Column<Object>> get primaryKey => {groupId, gameId};

View File

@@ -3,8 +3,10 @@ import 'package:game_tracker/data/db/tables/group_table.dart';
import 'package:game_tracker/data/db/tables/player_table.dart'; import 'package:game_tracker/data/db/tables/player_table.dart';
class PlayerGameTable extends Table { class PlayerGameTable extends Table {
TextColumn get playerId => text().references(PlayerTable, #id)(); TextColumn get playerId =>
TextColumn get gameId => text().references(GroupTable, #id)(); text().references(PlayerTable, #id, onDelete: KeyAction.cascade)();
TextColumn get gameId =>
text().references(GroupTable, #id, onDelete: KeyAction.cascade)();
@override @override
Set<Column<Object>> get primaryKey => {playerId, gameId}; Set<Column<Object>> get primaryKey => {playerId, gameId};

View File

@@ -3,8 +3,10 @@ import 'package:game_tracker/data/db/tables/group_table.dart';
import 'package:game_tracker/data/db/tables/player_table.dart'; import 'package:game_tracker/data/db/tables/player_table.dart';
class PlayerGroupTable extends Table { class PlayerGroupTable extends Table {
TextColumn get playerId => text().references(PlayerTable, #id)(); TextColumn get playerId =>
TextColumn get groupId => text().references(GroupTable, #id)(); text().references(PlayerTable, #id, onDelete: KeyAction.cascade)();
TextColumn get groupId =>
text().references(GroupTable, #id, onDelete: KeyAction.cascade)();
@override @override
Set<Column<Object>> get primaryKey => {playerId, groupId}; Set<Column<Object>> get primaryKey => {playerId, groupId};