better logic

This commit is contained in:
James Cor
2022-10-26 12:50:49 -07:00
parent ddc70aa788
commit 03daea09d0

View File

@@ -183,7 +183,7 @@ func (fk ForeignKey) ValidateReferencedTableSchema(sch schema.Schema) error {
fk.Name, fk.ReferencedTableName)
}
}
if !sch.Indexes().Contains(fk.ReferencedTableIndex) || (fk.ReferencedTableIndex == "PRIMARY" && sch.GetPKCols().Size() == 0) {
if (fk.ReferencedTableIndex != "PRIMARY" && !sch.Indexes().Contains(fk.ReferencedTableIndex)) || (fk.ReferencedTableIndex == "PRIMARY" && sch.GetPKCols().Size() == 0) {
return fmt.Errorf("foreign key `%s` has entered an invalid state, referenced table `%s` is missing the index `%s`",
fk.Name, fk.ReferencedTableName, fk.ReferencedTableIndex)
}
@@ -203,7 +203,7 @@ func (fk ForeignKey) ValidateTableSchema(sch schema.Schema) error {
return fmt.Errorf("foreign key `%s` has entered an invalid state, table `%s` has unexpected schema", fk.Name, fk.TableName)
}
}
if !sch.Indexes().Contains(fk.TableIndex) || (fk.TableIndex == "PRIMARY" && sch.GetPKCols().Size() == 0) {
if (fk.TableIndex != "PRIMARY" && !sch.Indexes().Contains(fk.TableIndex)) || (fk.TableIndex == "PRIMARY" && sch.GetPKCols().Size() == 0) {
return fmt.Errorf("foreign key `%s` has entered an invalid state, table `%s` is missing the index `%s`",
fk.Name, fk.TableName, fk.TableIndex)
}