diff --git a/go.mod b/go.mod index 03f843799..85e4242a2 100644 --- a/go.mod +++ b/go.mod @@ -4,5 +4,5 @@ go 1.16 require ( github.com/jinzhu/inflection v1.0.0 - github.com/jinzhu/now v1.1.4 + github.com/jinzhu/now v1.1.5 ) diff --git a/go.sum b/go.sum index 50fbba2fc..bd6104c9b 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,4 @@ github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/jinzhu/now v1.1.4 h1:tHnRBy1i5F2Dh8BAFxqFzxKqqvezXrL2OW1TnX+Mlas= -github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= +github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= diff --git a/gorm.go b/gorm.go index 81b6e2afc..653039b34 100644 --- a/gorm.go +++ b/gorm.go @@ -39,6 +39,8 @@ type Config struct { DisableForeignKeyConstraintWhenMigrating bool // DisableNestedTransaction disable nested transaction DisableNestedTransaction bool + // SafetyAutoMigration disable columns alter when it exists + SafetyAutoMigration bool // AllowGlobalUpdate allow global update AllowGlobalUpdate bool // QueryFields executes the SQL query with all fields of the table diff --git a/migrator/migrator.go b/migrator/migrator.go index 29c0c00c0..91414481e 100644 --- a/migrator/migrator.go +++ b/migrator/migrator.go @@ -120,6 +120,8 @@ func (m Migrator) AutoMigrate(values ...interface{}) error { if err := tx.Migrator().AddColumn(value, dbName); err != nil { return err } + } else if m.DB.SafetyAutoMigration { + // skip MigrationColumn } else if err := m.DB.Migrator().MigrateColumn(value, field, foundColumn); err != nil { // found, smart migrate return err