Ruby 如何删除活动记录中的表列

Ruby 如何删除活动记录中的表列,ruby,activerecord,orm,Ruby,Activerecord,Orm,我想使用活动记录从表中删除列。请查找下面的代码片段 require "active_record" require 'sqlite3' ActiveRecord::Base.establish_connection(:adapter => 'sqlite3', :database => 'test_one') class Account < ActiveRecord::Base table_name = "AccountBean" primary_key = "proce

我想使用活动记录从表中删除列。请查找下面的代码片段

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
需要“活动记录”
需要'sqlite3'
ActiveRecord::Base.building_连接(:adapter=>'sqlite3',:database=>'test_one')
类帐户

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

我猜ActiveRecord假定对结构的更改应该使用迁移来完成

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

我不建议这样:)

ActiveRecord::Base.connection.删除列(“人员”、“名字”)

在一个类中,看起来像:

class Account < ActiveRecord::Base
 table_name = "AccountBean"
 primary_key = "process_id"
 connection.remove_column(table_name, "xxx")
end
类帐户
是的,但是使用连接方法,即使我们知道我们是在表中表示的类(Account),也有点麻烦odd@pramod-方法
remove\u column
仅用于迁移,因此您不能期望有一个简单的API来更改
ActiveRecord
models:)中的表结构