如何删除Active Record中的表列

时间:2014-04-03 12:39:32

标签: ruby activerecord orm

我想使用Active记录从表中删除列。请找到以下代码段

require "active_record"
require 'sqlite3'
ActiveRecord::Base.establish_connection(:adapter => 'sqlite3', :database => 'test_one')

class Account < ActiveRecord::Base
 table_name = "AccountBean"
 primary_key = "process_id"
 remove_column "xxx" // I need this type of method to remove column "xxx" from accounts table
end

ActiveRecord中是否有满足此要求的类方法?

1 个答案:

答案 0 :(得分:0)

我想ActiveRecord假定使用迁移完成对结构的更改。

如果您确实需要,可以使用rails在迁移中使用的相同方法,例如删除列 - like here

我不推荐这个:)

ActiveRecord::Base.connection.remove_column("persons", "first_name")

在类似于:

的类中
class Account < ActiveRecord::Base
 table_name = "AccountBean"
 primary_key = "process_id"
 connection.remove_column(table_name, "xxx")
end