【问题标题】:rake db:migrate is not creating user tablerake db:migrate 没有创建用户表
【发布时间】:2015-10-02 22:05:29
【问题描述】:

我有以下迁移

问题是rake db:migrate 没有执行第一次迁移,也没有创建users 表。

这可能是什么原因?

【问题讨论】:

  • 您是否尝试先删除 db? - rake db:migrate:reset
  • @NikolaTodorovic:我通过 mysql 删除了数据库,现在它可以工作了。但早些时候我的数据库中没有表。就像我创建了一个新数据库。

标签: ruby-on-rails model migration rake


【解决方案1】:

这可能是什么原因?

主要原因可能是您已经运行了迁移 - 或者可能是以后的迁移 - 因此 Rails 认为它​​不需要运行它。

查看是否是这种情况的一个好方法是打开您的db/schema.rb 文件:

您将看到您的架构正在运行的最新迁移。如果它取代了您尝试调用的那个,它将不会运行。

--

修复

可以生成一个新的迁移,然后将代码复制过来:

$ rails g migration AddUsers2

然后您将添加以下内容:

#db/migrate/_____.rb
class AddUsers2 < ActiveRecord::Migration
   def change
      create_table :users do |t| 
        t.string :name
        t.timestamps
      end
   end
end

或者,您可以擦除数据库并重新开始。这可以使用rake schema:load 来实现。 这将擦除所有数据并重新开始

【讨论】:

    猜你喜欢
    • 2017-02-28
    • 2020-01-26
    • 1970-01-01
    • 2011-08-01
    • 2018-04-29
    • 1970-01-01
    • 1970-01-01
    • 2018-10-06
    • 2014-05-09
    相关资源
    最近更新 更多