- Fixed bad SQL for creating sql enum types - Noted more relations, mostly x to media
This commit is contained in:
parent
484bb95820
commit
8ffd6d0050
4 changed files with 20 additions and 15 deletions
|
@ -82,7 +82,7 @@ func createRemoteServerSoftwareType(db *gorm.DB) error {
|
|||
|
||||
// Helper function for ensuring the existence of an enum with the given values
|
||||
func migrateEnum(db *gorm.DB, name string, values []string) error {
|
||||
if err := db.Exec("DROP TYPE IF EXISTS " + name).Error; err != nil {
|
||||
if err := db.Exec("DROP TYPE IF EXISTS " + name + " CASCADE;").Error; err != nil {
|
||||
return other.Error(
|
||||
"storage",
|
||||
fmt.Sprintf("Failed to remove old type %s (if it exists)", name),
|
||||
|
@ -90,9 +90,9 @@ func migrateEnum(db *gorm.DB, name string, values []string) error {
|
|||
)
|
||||
}
|
||||
queryBuilder := strings.Builder{}
|
||||
queryBuilder.WriteString("CREATE TYPE")
|
||||
queryBuilder.WriteString("CREATE TYPE ")
|
||||
queryBuilder.WriteString(name)
|
||||
queryBuilder.WriteString("AS ENUM (")
|
||||
queryBuilder.WriteString(" AS ENUM (")
|
||||
blen := len(values)
|
||||
for i, btype := range values {
|
||||
queryBuilder.WriteString("'" + string(btype) + "'")
|
||||
|
@ -101,6 +101,7 @@ func migrateEnum(db *gorm.DB, name string, values []string) error {
|
|||
queryBuilder.WriteString(",")
|
||||
}
|
||||
}
|
||||
queryBuilder.WriteString(");")
|
||||
if err := db.Exec(queryBuilder.String()).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue