更新rails app

时间:2015-05-20 15:23:00

标签: postgresql ruby-on-rails-4

我创建了'国家' 表,其中包含以下栏目:

  

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

2 个答案:

答案 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,您会发现架构文件发生了变化。