我为什么得到:迁移正在等待中。要解决此问题,请运行:bin / rake db:migrate RAILS_ENV = development

时间:2015-02-02 20:02:04

标签: ruby-on-rails

我是Rails的新手,我正在关注Railsbridge对Rails的介绍。我创建了我的项目,现在我正在尝试为投票创建一个新的控制器操作,以及一个新的投票路线。当我转到开发页面时,它显示以下消息:

  

迁移正在等待处理。要解决此问题,请运行:bin / rake   db:migrate RAILS_ENV = development

在命令行中,它为我提供了以下信息:

StandardError: An error has occurred, this and all later migrations canceled:
undefined method `migrate' for #<ActiveRecord::ConnectionAdapters::TableDefiniti
on:0x5d79e78>C:/Sites/railsbridgejan/suggestotron/db/migrate/20150129195744_create_votes.rb:6:in `block in change' C:/Sites/railsbridgejan/suggestotron/db/migrate/20150129195744_create_votes.rb:3:in `change'
C:in `migrate'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

所以,当我查看我的db文件中的create_votes.rb时,它就是这样的:

  class CreateVotes < ActiveRecord::Migration
     def change
       create_table :votes do |t|
         t.integer :topic_id
         t.string :rake
         t.migrate :db

         t.timestamps null: false
       end
     end
   end

我的文件代码有问题吗? t.migrate:db是第6行,根据命令行,是问题所在。我使用的是Rails 4,Ruby 2和Sqlite。我曾尝试安装MySql,但遇到了一些重大问题,所以我继续使用Sqlite。这可能导致这个问题吗?似乎问题出现在上面列出的代码中,但我不确定。 谢谢!

1 个答案:

答案 0 :(得分:0)

在您使用的change方法中

t.migrate :db

migrate数据类型不存在。我假设您想使用String。

t.string :db