2016-06-21 2 views
0

У меня есть существующая модель «micropost», и я узнал, что есть лучшее название для модели, чтобы удовлетворить мое заявление. Какой был бы лучший подход к переименованию модели «micropost» в модель «история», не затрагивая ее индексы? Я работаю над 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 Спасибо за ваш быстрый ответ. Должен ли я использовать методы «вверх-вниз»? Или есть лучший подход? – veekram

ответ

0

1. Сделайте миграцию, чтобы изменить имя таблицы базы данных с микропоста на историю.

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

2 .Кнопкой вручную Активная модель Record класса в Story

+0

спасибо. Работал как шарм :) – veekram

+0

приветствуется :) @veekram –

0

команду Run на консоли:

$ рельсам г миграции RenameMicropostToStory

Редактировать миграционную файл:

class RenameMicropostToStory < ActiveRecord::Migration 

    def change 
    rename_table :microposts, :stories 
    end 

end 

тогда

$ грабли БД: мигрировать

+0

Спасибо Nitin. :) – veekram

Смежные вопросы