Ich verwende die pg_array Erweiterung von Ruby Sequel.Ruby Sequel: Von der Abfrage zurückgegebenes Array wird als String-Objekt und nicht als Array-Objekt zurückgegeben
Wenn ich eine Spalte auswählen, die ein Postgresql-Array ist, ist das Ergebnis eine Zeichenfolge in Ruby. Wie bekomme ich das, um ein Ruby-Array zu sein, so dass ich Dinge wie .jeach verwenden kann?
CaseTypeCategory.first(category_name: 'Subscription')[:values]
=> "{value_one,value_two}"
CaseTypeCategory.first(category_name: 'Subscription')[:values][0]
=> "{"
Unsere Datenbank Config beinhaltet:
Sequel.extension :pg_array, :pg_inet, :pg_json
Und die Migration die Spalten hinzufügen diese enthalten:
alter_table :case_type_categories do
add_column :values, "text[]"
end
ich roh SQL schreiben können einzelne Elemente in dem Array zuzugreifen:
select values[1] from case_type_categories where category_name = 'Subscription'
Bearbeiten Sie Ihre Frage so, dass der Code, mit dem Sie Sequel konfigurieren, mit der Erweiterung pg_array für diese Spalte ergänzt wird. –
@JordanRunning Ist das wonach Sie gesucht haben? –