only store one object of GameType and Ruleset when they already exists in the database
This commit is contained in:
@@ -19,13 +19,9 @@ module default {
|
|||||||
}
|
}
|
||||||
required single type: GameType {
|
required single type: GameType {
|
||||||
readonly := true;
|
readonly := true;
|
||||||
constraint exclusive;
|
|
||||||
on source delete delete target;
|
|
||||||
}
|
}
|
||||||
required single ruleset: Ruleset {
|
required single ruleset: Ruleset {
|
||||||
readonly := true;
|
readonly := true;
|
||||||
constraint exclusive;
|
|
||||||
on source delete delete target;
|
|
||||||
}
|
}
|
||||||
required winner: str {
|
required winner: str {
|
||||||
readonly := true;
|
readonly := true;
|
||||||
@@ -46,7 +42,7 @@ module default {
|
|||||||
required is_ladder: bool {
|
required is_ladder: bool {
|
||||||
readonly := true;
|
readonly := true;
|
||||||
}
|
}
|
||||||
#constraint exclusive on ( (.name, .is_ladder) );
|
constraint exclusive on ( (.name, .is_ladder) );
|
||||||
}
|
}
|
||||||
|
|
||||||
type Ruleset {
|
type Ruleset {
|
||||||
@@ -59,7 +55,7 @@ module default {
|
|||||||
required settings: json {
|
required settings: json {
|
||||||
readonly := true;
|
readonly := true;
|
||||||
}
|
}
|
||||||
#constraint exclusive on ( (.name, .version, .settings) );
|
constraint exclusive on ( (.name, .version, .settings) );
|
||||||
}
|
}
|
||||||
|
|
||||||
type Snake {
|
type Snake {
|
||||||
|
|||||||
@@ -54,14 +54,14 @@ class EdgeDB:
|
|||||||
insert GameType {
|
insert GameType {
|
||||||
name := <str>$game_type,
|
name := <str>$game_type,
|
||||||
is_ladder := <bool>$is_ladder
|
is_ladder := <bool>$is_ladder
|
||||||
}
|
} unless conflict on (.name, .is_ladder) else GameType
|
||||||
),
|
),
|
||||||
ruleset := (
|
ruleset := (
|
||||||
insert Ruleset {
|
insert Ruleset {
|
||||||
name := <str>$ruleset,
|
name := <str>$ruleset,
|
||||||
version := <str>$version,
|
version := <str>$version,
|
||||||
settings := to_json(<str>$settings)
|
settings := to_json(<str>$settings)
|
||||||
}
|
} unless conflict on (.name, .version, .settings) else Ruleset
|
||||||
),
|
),
|
||||||
snake := (
|
snake := (
|
||||||
insert Snake {
|
insert Snake {
|
||||||
|
|||||||
Reference in New Issue
Block a user