Я хотел бы переименовать столбец таблицы из консоли rails, не записывая никаких переносов.Как я могу переименовать столбец из консоли rails без миграции?
как я могу это сделать?
Я хотел бы переименовать столбец таблицы из консоли rails, не записывая никаких переносов.Как я могу переименовать столбец из консоли rails без миграции?
как я могу это сделать?
rails dbconsole
ALTER TABLE name RENAME column TO column
Просто боковое примечание @Boti, ваш 'db/schema.rb' не будет обновлен с помощью этого метода, что потенциально может вызвать проблемы при развертывании. Если есть такая проблема, вы можете запустить «rake db: schema: dump» после этого, чтобы ваш файл схемы был синхронизирован с текущей структурой базы данных (и именованием). –
rails g migration ChangeColName
редактировать файл дб/мигрировать/"метки" _change_col_name.rb вставки в изменении четкости -
rename_column :tablename, :old_column_name, :new_column_name -save
запуске в консоли : rake db:migrate
:-)
Я не уверен, что вы путаете «консоль» с «терминалом», но то, что означало OP, это то, как это сделать в реальной консоли rails (IRB-интерфейс), не записывая и не запуская файл миграции. –
Я решил запустить это с консоли:
ActiveRecord::Base.connection.rename_column :tablename, :old_column_name, :new_column_name
Лучший ответ. Он позволяет выполнять команды так же, как и внутри миграции Rails. –
Вы не должны делать это без миграции, это не лучшая практика, а также рельсы. –
Я знаю, что это была очень неприятная проблема с синхронизацией ... – Boti