From c45821912587d7bdcc97022d0708fb04109c608f Mon Sep 17 00:00:00 2001 From: Daniel Dolezal Date: Mon, 13 Oct 2025 16:38:24 +0200 Subject: [PATCH] remove migrations and add them into ignore file list --- .gitignore | 1 + dbschema/{default.esdl => default.gel} | 8 ++- dbschema/migrations/00001-m1ezdfn.edgeql | 89 ------------------------ 3 files changed, 6 insertions(+), 92 deletions(-) rename dbschema/{default.esdl => default.gel} (91%) delete mode 100644 dbschema/migrations/00001-m1ezdfn.edgeql diff --git a/.gitignore b/.gitignore index ffc7316..c4cf429 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ __pycache__/ data/ .env +dbschema/migrations/ diff --git a/dbschema/default.esdl b/dbschema/default.gel similarity index 91% rename from dbschema/default.esdl rename to dbschema/default.gel index aafe58e..4f139ee 100644 --- a/dbschema/default.esdl +++ b/dbschema/default.gel @@ -33,16 +33,18 @@ module default { required winner: str { readonly := true; } - required multi moves: Moves { - readonly := true; + multi moves: Moves { + default := {}; on source delete delete target; + on target delete allow; } required single snake: Snake { readonly := true; on source delete delete target if orphan; } - is_winner_me := is_winner_me(.winner) + is_winner_me := is_winner_me(.winner); + has_moves := exists(.moves); } type GameType { diff --git a/dbschema/migrations/00001-m1ezdfn.edgeql b/dbschema/migrations/00001-m1ezdfn.edgeql deleted file mode 100644 index 07f1842..0000000 --- a/dbschema/migrations/00001-m1ezdfn.edgeql +++ /dev/null @@ -1,89 +0,0 @@ -CREATE MIGRATION m1ezdfntpqrmuj2yefl7glg5bbtt6zqp3jjsf2i7jhroz6gm7j5s5q - ONTO initial -{ - CREATE FUNCTION default::gameboard_url(id: std::uuid) -> std::str USING (('https://play.battlesnake.com/game/' ++ id)); - CREATE FUNCTION default::is_winner_me(winner: std::str) -> std::bool USING ((winner = 'me')); - CREATE TYPE default::GameType { - CREATE REQUIRED PROPERTY is_ladder: std::bool { - SET readonly := true; - }; - CREATE REQUIRED PROPERTY name: std::str { - SET readonly := true; - }; - CREATE CONSTRAINT std::exclusive ON ((.name, .is_ladder)); - }; - CREATE TYPE default::Moves { - CREATE PROPERTY calculations: array { - SET readonly := true; - }; - CREATE REQUIRED PROPERTY game_board: std::json { - SET readonly := true; - }; - CREATE REQUIRED PROPERTY snake_move: std::str { - SET readonly := true; - }; - CREATE REQUIRED PROPERTY turn: std::int32 { - SET readonly := true; - }; - }; - CREATE TYPE default::Ruleset { - CREATE REQUIRED PROPERTY name: std::str { - SET readonly := true; - }; - CREATE REQUIRED PROPERTY settings: std::json { - SET readonly := true; - }; - CREATE REQUIRED PROPERTY version: std::str { - SET readonly := true; - }; - CREATE CONSTRAINT std::exclusive ON ((.name, .version, .settings)); - }; - CREATE TYPE default::Snake { - CREATE REQUIRED PROPERTY type: std::str { - SET readonly := true; - }; - CREATE CONSTRAINT std::exclusive ON (.type); - }; - CREATE TYPE default::GameBoard { - ALTER PROPERTY id { - SET OWNED; - SET readonly := true; - SET REQUIRED; - SET TYPE std::uuid; - ALTER CONSTRAINT std::exclusive { - SET OWNED; - }; - }; - CREATE PROPERTY url := (default::gameboard_url(.id)); - CREATE REQUIRED PROPERTY winner: std::str { - SET readonly := true; - }; - CREATE PROPERTY is_winner_me := (default::is_winner_me(.winner)); - CREATE REQUIRED MULTI LINK moves: default::Moves { - ON SOURCE DELETE DELETE TARGET; - SET readonly := true; - }; - CREATE REQUIRED SINGLE LINK ruleset: default::Ruleset { - ON SOURCE DELETE DELETE TARGET IF ORPHAN; - SET readonly := true; - }; - CREATE REQUIRED SINGLE LINK snake: default::Snake { - ON SOURCE DELETE DELETE TARGET IF ORPHAN; - SET readonly := true; - }; - CREATE REQUIRED SINGLE LINK type: default::GameType { - ON SOURCE DELETE DELETE TARGET IF ORPHAN; - SET readonly := true; - }; - CREATE REQUIRED PROPERTY created_at: std::datetime { - SET readonly := true; - }; - CREATE REQUIRED PROPERTY map: std::str { - SET default := 'standard'; - SET readonly := true; - }; - CREATE REQUIRED PROPERTY turns: std::int32 { - SET readonly := true; - }; - }; -};