2017-02-09 64 views
0

我有几个迁移文件,由于某些原因,db:migrate任务只是忽略一个迁移文件。为什么Rails在运行`rake db:migrate`时会忽略迁移文件?

class Assets < ActiveRecord::Migration 
 
    def change 
 
    create_table :assets do |t| 
 
     t.string :title 
 
     t.string :file 
 
     t.string :description 
 

 
     t.timestamps null: false 
 
    end 
 
    end 
 

 

 
end

我已经试图改变这种迁移的顺序,以确保它需要它的创建表的任何其他迁移之前运行。

+1

你是什么意思“改变这次迁移的顺序”? –

+1

“rake db:migrate:status”的输出是什么? –

回答

0

这里是耙命令的列表:

rake db:create   # Create the database from DATABASE_URL or config/database.yml for the current Rails.env (use db:create:all to create all dbs in the config) 
rake db:drop   # Drops the database using DATABASE_URL or the current Rails.env (use db:drop:all to drop all databases) 
rake db:fixtures:load # Load fixtures into the current environment's database 
rake db:migrate   # Migrate the database (options: VERSION=x, VERBOSE=false) 
rake db:migrate:status # Display status of migrations 
rake db:rollback  # Rolls the schema back to the previous version (specify steps w/ STEP=n) 
rake db:schema:dump  # Create a db/schema.rb file that can be portably used against any DB supported by AR 
rake db:schema:load  # Load a schema.rb file into the database 
rake db:seed   # Load the seed data from db/seeds.rb 
rake db:setup   # Create the database, load the schema, and initialize with the seed data (use db:reset to also drop the db first) 
rake db:structure:dump # Dump the database structure to db/structure.sql 
rake db:version   # Retrieves the current schema version number 

尝试bundle exec rake db:drop:all这将删除所有migrations等,尝试重新建立你的表。

相关问题