2015-05-20 141 views
1

我在轨创建'国家'表下列:更新手动数据库更改

国家
ID
COUNTRY_CODE

前缀
网址

然后,在phpPgAdmin的更新的列名,现在的表看起来像:

国家
ID
COUNTRY_ID
COUNTRY_NAME
country_iso
网址

但是,铁轨我有架构仍然如下:

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的作出我的Rails应用程序的变化。

PS:我是初学者的铁轨。如果我遵循任何错误的方法,请帮助我。谢谢。

回答

0

您可以在,之前重建架构,但需要备份一分钟,然后才能这样做。

如果您想更改您的数据库结构,请不要使用其他工具执行此操作,而应使用migration。这里有一个关于如何使用迁移重命名列的stackoverflow文章:How can I rename a database column in a Rails migration?(在链接的stackoverflow问题中使用rails 3.1版本,它仍然对rails 4+有效)

0

您可以随时使用迁移重命名列名,也是最好的做法(纠正我,如果我错了)。

创建迁移文件

rails g migration RenameColumnNameTableName 

它会生成一个迁移文件

“#{} CURRENT_TIMESTAMP _rename_column_name_table_name。RB”变化列名

写迁移

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

运行rake db:migrate,你会发现在你的schema文件更改。