2015-05-20 4 views
1

я создал 'Country' таблицы со следующими столбцами в рельсах:Обновления в рельсах приложении

Страна
ID
country_code
имя
префикс
URL

Затем, обновленные имена столбцов в PhpPgAdmin и теперь таблица выглядит следующим образом:

Страна
ID
COUNTRY_ID
COUNTRY_NAME
country_iso
URL

Но, rails у меня есть схема по-прежнему как:

create_table "countries", force: true do | t |
t.integer "country_code"
t.string "Название"
t.string "префикс"
t.string "URL"
t.datetime "created_at"
t.datetime "updated_at"
конец

Как обновить изменения, сделанные из PhpPgAdmin моей рельсы приложения.

PS: Я новичок в рельсах. Пожалуйста, помогите мне, если я буду следовать за неправильным подходом. Благодарю.

ответ

0

вы можете перестроить схему с помощью bin/rake db:schema:dump, , но подождите всего минуту, прежде чем вы это сделаете.

Если вы хотите изменить структуру базы данных, не делайте этого с помощью какого-либо другого инструмента, а вместо этого создавайте migration. вот статья stackoverflow о том, как переименовать столбцы с помощью миграции: How can I rename a database column in a Rails migration? (используйте версию rails 3.1 в связанном вопросе stackoverflow, это все еще актуально для rails 4+)

0

Вы всегда можете переименовать имя столбца, используя миграцию, и это будет также быть лучшей практикой (исправьте меня, если я ошибаюсь).

Создать миграционный файл

rails g migration RenameColumnNameTableName 

Он будет генерировать миграционный файл

«# {} CURRENT_TIMESTAMP _rename_column_name_table_name.гь»

записи миграции для имени столбца изменения

class RenameColumnNameTableName < ActiveRecord::Migration 
    def change 
    rename_column :table_name, :old_column_name, :new_column_name 
    end 
end 

rake db:migrate Run, и вы заметите изменения в файле схемы.

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