Rails Postgres如何在创建后更改固定数据列?

Rails Postgres how to change fix a data column after created?

我在 postgres 的 table 上创建了一个专栏。但是在创建之后我发现我在强调上犯了一个错误,我想而不是破坏列来修复它。有办法吗?

我正在使用 Rails 和控制台创建列。谢谢

您可以编写迁移并重命名您的列:

class RenameColumn < ActiveRecord::Migration 
  def change
    rename_column :table_name, :old_column, :new_column
  end
end

然后在终端执行rake db:migrate

如果您想从控制台执行此操作。

ActiveRecord::Migration.remove_column :table_name, :old_column_name
ActiveRecord::Migration.add_column :table_name, :new_column_name, :type

或使用rename_column

ActiveRecord::Migration.rename_column :table, :old_column, :new_column

但创建迁移总是更好。你可以查看llya关于如何编写迁移的答案。

试试这个

在您当前的迁移更改中

def change
end

def self.up
  add_column :table_name, column_name, type
end

然后在此之后添加

def self.down
  remove_column :table_name, column_name
end

第一个运行

rake db:migrate:down VERSION= version_number

现在更正 self.up 和 运行

中的列名
run rake db:migrate:up VERSION= version_number