Ruby on rails Rails说我有x个挂起的迁移运行`rake db:migrate`
在我的mountable_engine/test/dummy/config中的database.yml中,我为dummy app指定了一个数据库,为mountable engine指定了一个数据库:Ruby on rails Rails说我有x个挂起的迁移运行`rake db:migrate`,ruby-on-rails,Ruby On Rails,在我的mountable_engine/test/dummy/config中的database.yml中,我为dummy app指定了一个数据库,为mountable engine指定了一个数据库: development: <<: *default database: dummy_development internal: <<: *default database: mountable_engine_development 当我跑的时候 rake
development:
<<: *default
database: dummy_development
internal:
<<: *default
database: mountable_engine_development
当我跑的时候
rake db:random:load RAILS_ENV=internal
从命令行中,我得到以下错误:
You have 12 pending migrations:
20150406190542 CreateTable1
20150406201954 CreateTable2
20150406202157 CreateTable3
...
20150430225339 AddIndexToForeignKeys
Run `rake db:migrate` to update your database then try again.
我以前已经运行过迁移。现在,当我查看可装载引擎开发数据库中的模式迁移时,我可以看到迁移是最新的:
mysql> SELECT * FROM schema_migrations;
+----------------+
| version |
+----------------+
| 20150406190542 |
| 20150406201954 |
| 20150406202157 |
| 20150406202339 |
| 20150406202535 |
| 20150406202550 |
| 20150408194521 |
| 20150411010854 |
| 20150413162723 |
| 20150413213522 |
| 20150416013325 |
| 20150430225339 |
+----------------+
那么为什么会出现此错误?问题是我在可装载引擎的目录中运行rake任务。当我在虚拟应用程序的目录中运行rake任务时,它就工作了
mysql> SELECT * FROM schema_migrations;
+----------------+
| version |
+----------------+
| 20150406190542 |
| 20150406201954 |
| 20150406202157 |
| 20150406202339 |
| 20150406202535 |
| 20150406202550 |
| 20150408194521 |
| 20150411010854 |
| 20150413162723 |
| 20150413213522 |
| 20150416013325 |
| 20150430225339 |
+----------------+