To powinno być tak proste. Chcę pobrać nextval sekwencji ... nie jest to wartość domyślna ... nie jest to klucz podstawowy ... nie jest to klucz obcy. W rzadkich przypadkach potrzebuję numeru sekwencyjnego dla wartości dostarczonej przez użytkownika.Pobranie nextval z sekwencji przy użyciu activerecord w Ruby on Rails 3.2.14/Ruby 2.0.0/PostgreSQL 9.2.4
Próbowałem następujące:
@nextid = ActiveRecord::Base.connection.execute("SELECT nextval('xscrpt_id_seq')")
i co mogę wrócić jest:
#<PG::Result:0x007fe668a854e8 @connection=#<PG::Connection:0x00000003aeff30>>
I za pomocą
@nextid[0]["nextval"]
mogę uzyskać prawidłową wartość, ale nie wydaje się to właściwym sposobem podejścia do problemu. Szukałem, czytałem "Pro Active Record", który powiedział: "
M_script.find_by_sql("SELECT nextval('xscript_id_seq')")
, ale to nie zadziałało.
Wszelkie sugestie dotyczące "prawidłowego" (trybu szyn) do pobrania następnej z sekwencji w ROR będą bardzo mile widziane!