我创建了'国家' 表,其中包含以下栏目:
国家/地区
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" name"
t.string"前缀"
t.string" url"
t.datetime" created_at"
t.datetime" updated_at"
结束
如何更新 phppgadmin 对我的rails应用所做的更改。
PS:我是初学者。如果我采取任何错误的方法,请帮助我。感谢。
答案 0 :(得分:0)
您可以使用bin/rake db:schema:dump
,重建架构,但在执行此操作之前备份。
如果您想要更改数据库结构,请不要使用其他工具执行此操作,而是创建migration。这里有一篇关于如何使用迁移重命名列的stackoverflow文章:How can I rename a database column in a Rails migration?(在链接的stackoverflow问题中使用rails 3.1版本,它仍然对rails 4 +有效)
答案 1 :(得分: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
,您会发现架构文件发生了变化。