/
githubmirror
/
photoprism
Обзор
Документация
Войти
/
githubmirror
/
photoprism
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
internal/entity/migrate/run.go
38 строк
829 B
Michael Mayer
Backend: Move migrate package to /internal/entity/migrate
02 июл 2024, 07:40
02 июл 2024, 07:40
6944566
Код
Авторство
О чём код?
package migrate import ( "fmt" "github.com/jinzhu/gorm" ) // Run automatically migrates the schema of the database passed as argument. func Run(db *gorm.DB, opt Options) (err error) { if db == nil { return fmt.Errorf("migrate: no database connection") } // Get SQL dialect name. name := db.Dialect().GetName() if name == "" { return fmt.Errorf("migrate: failed to determine sql dialect") } // Make sure a "migrations" table exists. once[name].Do(func() { err = db.AutoMigrate(&Migration{}).Error }) if err != nil { return fmt.Errorf("migrate: %s (create migrations table)", err) } // Run migrations for dialect. if migrations, ok := Dialects[name]; ok && len(migrations) > 0 { migrations.Start(db, opt) return nil } else { return fmt.Errorf("migrate: no migrations found for %s", name) } }