更新rails app中的手动数据库更改

问题描述 投票:1回答:2

我在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:我是初学者。如果我采取任何错误的方法,请帮助我。谢谢。

postgresql ruby-on-rails-4
2个回答
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+有效)


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,您会注意到架构文件中的更改。

© www.soinside.com 2019 - 2024. All rights reserved.