diff --git a/dbschema/default.esdl b/dbschema/default.esdl index afa5a2a..a18eec7 100644 --- a/dbschema/default.esdl +++ b/dbschema/default.esdl @@ -34,10 +34,8 @@ module default { readonly := true; on source delete delete target; } - single snake: Snake { + required single snake: Snake { readonly := true; - on source delete delete target; - on target delete allow; } } @@ -68,7 +66,7 @@ module default { required type: str { readonly := true; } - #constraint exclusive on .type; + constraint exclusive on ( .type ); } type Moves { @@ -81,15 +79,7 @@ module default { required game_board: json { readonly := true; } - single calculations: Calculations { - readonly := true; - on source delete delete target; - on target delete allow; - } - } - - type Calculations { - required data: array { + calculations: array { readonly := true; } } diff --git a/server/storage/EdgeDB.py b/server/storage/EdgeDB.py index d2ba677..a491bb6 100644 --- a/server/storage/EdgeDB.py +++ b/server/storage/EdgeDB.py @@ -47,11 +47,7 @@ class EdgeDB: turn := data.turn, snake_move := data.`move`, game_board := data.game_board, - calculations := ( - insert Calculations { - data := data.calculations - } - ) + calculations := data.calculations } ), type := ( @@ -70,7 +66,7 @@ class EdgeDB: snake := ( insert Snake { type := $snake_type - } + } unless conflict on .type else Snake ) }""",