2017-09-25 67 views
0

我创建了一个迁移到更改表名称,但是当我做rake db:migrate表的名称不会改变,我看不出有任何错误控制台以及Rails的迁移没有运行到重命名表

class RenameTemplatesTableToUserTemplates < ActiveRecord::Migration[5.1] 
    def up 
     rename_table :templates, :user_templates 
    end 

    def down 
     rename_table :job_templates, :templates 
    end 
end 

我甚至尝试以下

class RenameTemplatesTableToUserTemplates < ActiveRecord::Migration[5.1] 
    def self.up 
     rename_table :templates, :user_templates 
    end 

    def self.down 
     rename_table :job_templates, :templates 
    end 
end 

而且我也试过

class RenameTemplatesTableToUserTemplates < ActiveRecord::Migration[5.1] 
    def change 
     rename_table :templates, :user_templates 
    end 
end 

我在想着什么g在这里?

回答

0

如果迁移运行不输出的东西:

== 20170925112749 RenameTableTemplatesUserTemplates: migrating ========================= -- rename_table(:templates, :user_templates) -> 0.1690s == 20170925112749 RenameTableTemplatesUserTemplates: migrated (0.1691s) ================

并记录没有错误,这可能意味着以相同的时间戳记迁移已经运行。 您可以使用 RAILS_ENV=development bundle exec rake db:migrate:status(dev) 进行检查。在这种情况下,您应该回滚此特定迁移或更新新迁移中的时间戳。

此外,您还需要编辑文件和关联(请参阅here