当我使用此脚本将数据库下载到我的本地postgresql数据库时,我在Heroku上有一个应用程序(它是最新的并运行了最新的迁移):
heroku pgbackups:capture --expire --app myapp
echo "Captured database on heroku"
curl -o latest.dump `heroku pgbackups:url --app myapp`
echo "Downloaded database"
pg_restore --verbose --clean --no-acl --no-owner -h localhost -d cooking latest.dump
echo "Database restored"
我启动本地服务器时出现这样的错误:
的ActiveRecord :: PendingMigrationError 迁移正在等待中;运行'bin / rake db:migrate RAILS_ENV = development'来解决此问题。
我尝试删除并重置旧数据库而不做任何更改。
答案 0 :(得分:4)
当数据库的版本(可通过Rails中的ActiveRecord::Migrator.current_version
或带有SQL的select max(version) from schema_migrations
访问)小于最高迁移版本(从db/migrate
加载并且通常编码时)会发生此错误在该目录中文件的文件名中。
只要您以后使用Heroku版本替换它,在运行迁移或重置数据库时对数据库执行的操作无关紧要。此时,重要的是数据库内容与db/migrate
中的迁移的比较。