我想用tsquery类型的列创建一个表。我可以通过SQL查询来做到这一点:
CREATE TABLE sample_table (query tsquery);
或者我也可以像这样更改现有表:
ALTER TABLE sample_table ADD COLUMN query tsquery;
问题是,有可能具有一个带有tsquery列的表而不必执行SQL查询(换句话说,通过使用ActiveRecord API)?
我已经检查了related AR source code,其中定义了column_method并且tsquery不存在。因此,在迁移中需要这样做:
def change
create_table :sample_table do |t|
t.tsquery :query
t.timestamps
end
end
导致预期的错误:
undefined method `tsquery' for #<ActiveRecord::ConnectionAdapters::PostgreSQL::TableDefinition:0x007fef205cbf40>
有没有可能的解决方法?还是我需要进行PR才能通过ActiveRecord API创建tsquery列?