【问题标题】:Why am I getting: Migrations are pending. To resolve this issue, run: bin/rake db:migrate RAILS_ENV=development为什么我得到:迁移正在等待。要解决此问题,请运行: bin/rake db:migrate RAILS_ENV=development
【发布时间】:2015-04-01 20:56:54
【问题描述】:

我是 Rails 的新手,我正在关注 Railsbridge Intro to 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)

所以,当我在我的数据库文件中查找 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。这可能会导致这个问题吗?似乎问题出在上面列出的代码中,但我不确定。 谢谢!

【问题讨论】:

  • migrate 不是该对象上可用的方法。你想在那里做什么?

标签: ruby-on-rails


【解决方案1】:

在您使用的change 方法中

t.migrate :db

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

t.string :db

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-15
    • 2015-01-27
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    • 2014-02-08
    • 2014-02-14
    相关资源
    最近更新 更多