ruby-on-rails – Rails迁移不会改变schema.rb

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails迁移不会改变schema.rb前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个rails迁移,不适用于我的schema.rb.迁移应该创建一个表:
class CreateUserGraphs < ActiveRecord::Migration
  def change
    create_table :user_graphs do |t|
      t.string :name
      t.string :content
      t.integer :user_id
      t.string :type_id
      t.integer :upload_id

      t.timestamps
    end

    add_index :user_graphs,[:user_id,:created_at]
  end
end

我做了db:reset.然后我尝试rake db:migrate:up VERSION = 123123123(这是迁移#).我在我的“开发”环境中.

为什么迁移不影响schema.rb?

解决方法

documentation

rake db:reset任务将丢弃数据库,重新创建它并将当前模式加载到其中.

This is not the same as running all the migrations. It will only use the
contents of the current schema.rb file. If a migration can’t be rolled back,
‘rake db:reset’ may not help you. To find out more about dumping the schema see
‘schema dumping and you.’

所以rake db:reset => db:drop db:create db:schema:load db:seed

要运行所有迁移,请使用:
rake db:drop db:create db:migrate

要么
分贝:迁移:复位=> rake db:drop db:create db:migrate

Reference

原文链接:https://www.f2er.com/ruby/272230.html

猜你在找的Ruby相关文章