2010-07-14 3 views
6

Здесь много об изменении имен моделей или сопоставлении новых моделей с существующими таблицами, но ничего о переименовании в одно и то же время. На данный момент я начинаю с таблицы БД и работаю с Find/Replace в своем коде, но я удивлен, что нет ничего лучше или, по крайней мере, кто-то, кто попробовал и написал об этом.Как изменить имя модели базы данных и таблицы в Rails?

ответ

13

Полный список вещей, чтобы переименовывать являются:

  1. Имя таблицы
  2. внешних ключей имен столбцов в ассоциациях (model_id столбцы) имя файла
  3. модели в приложении/модели/
  4. имя
  5. класса в app/models/model.rb
  6. ассоциации в других моделях (has_one/has_many)
  7. имя файла контроллера в приложении/контроллерах/
  8. имя класса в приложение/контроллеры/models_controller.rb
  9. имя папки в приложение/просмотров/
  10. ресурс маршрута в конфиге/routes.rb имя файла
  11. приспособление в тест/светильники/
  12. ссылки модель в связанной с сантехникой в ​​тесте/светильниках/
  13. блок имя тестового файла в тестовом/блоке/
  14. имя класса в тестовом/блоке/model_test.rb
  15. контроллера имя тестового файла в тесте/функционал/
  16. имя класса в тесте/функционала/models_controller_test.rb
  17. находка/замените имя класса в любом месте вашего кода

Вы должны написать миграции для изменения базы данных. Остальное можно сделать легко, или вы можете использовать свою IDE (RadRails/RubyMine), чтобы помочь. Я думаю, что нет встроенной функции, потому что нет способа узнать, где в вашем коде вы использовали модель.

+0

Если я пропустил что-либо, добавьте его. :) –

+0

Отлично, я добавлю все, что найду! Спасибо, Эндрю! – kbighorse

+0

Отличный список, Андрей! Мне нужно сделать это прямо сейчас, так что это помогает. Я использую RubyMine так надежно, что это немного упростит, но все же поможет получить этот список, чтобы я мог проверить, что все произошло правильно. –

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