-
Notifications
You must be signed in to change notification settings - Fork 435
Open
Description
Possibly related to #8979 when using Gel version 6.1 (a similar stack trace is generated at the second migration step described below)
Gel version: 6.11+66a1377
Gel CLI version: 7.9.0+070b371
OS Version: Ubuntu 22.04.5 LTS
Steps to Reproduce:
File structure:
alias_err_mwe/
----dbschema/
----aliases.gel
----config/
----default.gel
----futures.gel
- Create a schema and an alias file as indicated below.
- Comment out the "Veterinary" and "Supplier" objects in the default.gel file, as well as the expanded (wildcard block) contents of the alias file and migrate. Then uncomment and migrate again. Squash as gel
migration create --squash -I alias_err_mwe. Migrate some changes and squash the two migration files. Agel error: SchemaError: link 'veterinaries' of object type 'aliases::DogActive' already existsis generated.
Schema:
module default{
type Dog{
required dog_id: str;
dog_name: str;
deleted: bool {
default := false;
}
link owner: Owner{
on source delete delete target if orphan
}
multi veterinaries := .<dogs[is default::Veterinary];
}
type Owner{
required owner_id: str;
ent_name: str;
multi link entity := .<owner[is Dog];
}
type Veterinary{
required multi dogs: default::Dog {
on target delete delete source;
}
required vet_id: str;
vet_name: str;
deleted: bool {
default := false;
}
multi supplier := .<veterinary[is default::Supplier];
}
type Supplier{
required link veterinary: default::Veterinary {
on target delete delete source;
}
required supplier_id: str;
supplier_name: str;
deleted: bool {
default := false;
}
}
};
Alias:
module aliases {
alias DogActive := (
select default::Dog {*,
veterinaries: {*,
supplier: {*} filter .deleted = false,
}
filter .deleted = False
}
filter .deleted = False
);
}
Metadata
Metadata
Assignees
Labels
No labels