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 {
|
||||
readonly := true;
|
||||
constraint exclusive;
|
||||
on source delete delete target;
|
||||
}
|
||||
required single ruleset: Ruleset {
|
||||
readonly := true;
|
||||
constraint exclusive;
|
||||
on source delete delete target;
|
||||
}
|
||||
required winner: str {
|
||||
readonly := true;
|
||||
@@ -46,7 +42,7 @@ module default {
|
||||
required is_ladder: bool {
|
||||
readonly := true;
|
||||
}
|
||||
#constraint exclusive on ( (.name, .is_ladder) );
|
||||
constraint exclusive on ( (.name, .is_ladder) );
|
||||
}
|
||||
|
||||
type Ruleset {
|
||||
@@ -59,7 +55,7 @@ module default {
|
||||
required settings: json {
|
||||
readonly := true;
|
||||
}
|
||||
#constraint exclusive on ( (.name, .version, .settings) );
|
||||
constraint exclusive on ( (.name, .version, .settings) );
|
||||
}
|
||||
|
||||
type Snake {
|
||||
|
||||
@@ -54,14 +54,14 @@ class EdgeDB:
|
||||
insert GameType {
|
||||
name := <str>$game_type,
|
||||
is_ladder := <bool>$is_ladder
|
||||
}
|
||||
} unless conflict on (.name, .is_ladder) else GameType
|
||||
),
|
||||
ruleset := (
|
||||
insert Ruleset {
|
||||
name := <str>$ruleset,
|
||||
version := <str>$version,
|
||||
settings := to_json(<str>$settings)
|
||||
}
|
||||
} unless conflict on (.name, .version, .settings) else Ruleset
|
||||
),
|
||||
snake := (
|
||||
insert Snake {
|
||||
|
||||
Reference in New Issue
Block a user