我是 golang-migrate 的新用户。
我已经成功地运行了一些迁移。
我目前在开发模式下,所以我想重新运行这些迁移,因此在连接到我的数据库后,我在 psql
shell 中执行了 drop database schema_migrations
。
现在的问题是当我运行执行迁移的代码(如下所示)时:
func RunMigrations() {
m, err := migrate.New(
"file://db/migrations",
"postgres://postgres:postgres@localhost:5432/mydatabase?sslmode=disable")
if err != nil {
log.Fatal(err)
}
if err := m.Up(); err != nil {
if err.Error() == "no change" {
log.Println("no change made by migration scripts")
} else {
log.Fatal(err)
}
}
}
我遇到了这个错误
数据库版本2存在问题。请修复并强制更新版本。
这个错误是什么意思,我该如何解决?
schema_migrations
表并不能解决问题呢? - pkaramolschema_migrations
表的数据库被解释为没有被迁移覆盖的数据库。 - Dmitry Harnitskischema_migrations
条目的 dirty 标志设置为 false 并重新部署您的服务。 - Ashutosh Chamoli