2016-06-21 67 views
0

我有一个现有模型'micropost',我发现模型的名称更适合我的应用。在不影响其索引的情况下,将'micropost'模型重命名为'story'模型会更好吗?我正在使用Rails 5.0.0.rc1。迁移片段为:带迁移的重命名模型

class CreateMicroposts < ActiveRecord::Migration 
    def change 
    create_table :microposts do |t| 
    t.text :content 
    t.references :user, index: true 

    t.timestamps null: false 
    end 
    add_index :microposts, [:user_id, :created_at] 
end 
end 
+0

如果数据库在本地,然后去chnage所有的名字根据自己的需要,否则,创建一个迁移重命名同样的事情。 –

+0

@Bharatsoni感谢您的及时回复。我应该使用up和down方法吗?还是有更好的方法? – veekram

回答

0

1.使用迁移将数据库表名从micropost更改为故事。

class RenameOldTableToNewTable< ActiveRecord::Migration    
    def change 
    rename_table :old_table_name, :new_table_name 
    end 
end 

2 .Change手动的Active Record模型类到故事在控制台上

+0

谢谢。工作就像一个魅力:) – veekram

+0

欢迎:) @veekram –

0

运行命令:

$轨摹迁移RenameMicropostToStory

编辑迁移文件:

class RenameMicropostToStory < ActiveRecord::Migration 

    def change 
    rename_table :microposts, :stories 
    end 

end 

然后,

$耙分贝:迁移

+0

谢谢尼廷。 :) – veekram