我在rails中创建了以下列的“Country”表:
国家 ID 国家代码 名称 字首 网址
然后,phppgadmin和now表中的更新列名称如下所示:
国家 ID COUNTRY_ID 国家的名字 country_iso 网址
但是,在rails中我的架构仍然如下:
create_table“countries”,force:true do | t | t.integer“country_code” t.string“name” t.string“前缀” t.string“url” t.datetime“created_at” t.datetime“updated_at” 结束
如何更新从phppgadmin到我的rails应用程序所做的更改。
PS:我是初学者。如果我采取任何错误的方法,请帮助我。谢谢。
您可以使用bin/rake db:schema:dump
重建架构,但在您执行此操作之前需要备份一分钟。
如果你想要改变你的数据库结构,不要用其他工具做这个,而是做一个migration。这是一篇关于如何使用迁移重命名列的stackoverflow文章:How can I rename a database column in a Rails migration?(在链接的stackoverflow问题中使用rails 3.1版本,它仍然对rails 4+有效)
您始终可以使用迁移重命名列名称,这也是最佳做法(如果我错了,请纠正我)。
创建迁移文件
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
,您会注意到架构文件中的更改。