The sequel
gem is a database
toolkit that allows you to interact with most databases. PostgreSQL has
support for composite primary keys, but sequel
, which is supposed to return
the id
of newly inserted records, isn't sure what to return when faced
with a composite primary key. You can get around this by telling sequel
exactly what should be returned using the #returning
method. For instance,
get it to return just the id
of the new record:
DB[:floors].returning(:id).insert(hotel_id: 4, id: 1, ...)
# [{id: 1}]
To get it to return both parts of composite key:
DB[:floors].returning(:id, :hotel_id).insert(hotel_id: 4, id: 1, ...)
# [{id: 1, hotel_id: 4}]