Sequência de Ruby: a matriz retornada pela consulta está sendo retornada como um objeto String, não como um objeto Array
Estou usando opg_array extensão do Ruby Sequel.
Quando seleciono uma coluna que é uma matriz do Postgresql, o resultado é uma string no Ruby. Como faço para que isso seja um array Ruby para que eu possa usar coisas como .each nele?
CaseTypeCategory.first(category_name: 'Subscription')[:values]
=> "{value_one,value_two}"
CaseTypeCategory.first(category_name: 'Subscription')[:values][0]
=> "{"
Nossa configuração de banco de dados inclui:
Sequel.extension :pg_array, :pg_inet, :pg_json
E a migração para adicionar as colunas incluiu isso:
alter_table :case_type_categories do
add_column :values, "text[]"
end
Eu posso escrever SQL bruto para acessar elementos únicos na matriz:
select values[1] from case_type_categories where category_name = 'Subscription'