Сергей Нартымов (Software Engineer в Transinet GmbH, г.Минск)
Доклад: «Работа с базами данных с использованием Sequel»
О чём: Ruby библиотека для работы с базами данных Sequel представляет собой легковесную альтернативу более популярной Active Record. Sequel лежит в основе работы с SQL базами данных в ROM (Ruby Object Mapper) - развивающемся ORM для Ruby, реализующим паттерн Data Mapper. В докладе будут рассмотрены различные аспекты использования Sequel, в том числе показаны примеры использования некоторых возможностей PostgreSQL с помощью Sequel.
20. pg_array_associa+ons
# Database schema:
# tags albums
# :id (int4) <-- :id
# :name -- :tag_ids (int4[])
# :name
class Album
plugin :pg_array_associations
pg_array_to_many :tags
end
class Tag
plugin :pg_array_associations
many_to_pg_array :albums
end
28. Common%Table%Expressions
WITH moved_rows AS (
DELETE FROM products
WHERE "date" BETWEEN '2010-10-01' AND '2010-10-31'
RETURNING *
)
INSERT INTO products_log
SELECT * FROM moved_rows;
DB[:products_log].
with(:moved_rows,
DB[:products].
where(date: Date.new(2010, 10, 1)..Date.new(2010, 10, 31)).
returning.
with_sql(:delete_sql)).
insert(DB[:moved_rows])