Conozco Dataset#multi_insert y Dataset#insert . hace inserción múltiple, pero hay una opción disponible que puede omitir esa inserción en particular cuando se activa la verificación de restricción única
Puede usar el método insert_conflict .
"Manejar violaciones de unicidad al insertar, actualizando la fila en conflicto, usando ON CONFLICT. Sin opciones, usa ON CONFLICT NO HACER NADA".
DB[:table].insert_conflict.insert(a: 1, b: 2) # INSERT INTO TABLE (a, b) VALUES (1, 2) # ON CONFLICT DO NOTHING También funciona con multi_insert
DB[:table].insert_conflict.multi_insert([{a: 1, b: 2}, {a: 3, b: 4}]) # INSERT INTO TABLE (a, b) VALUES (1, 2), (3, 4) # ON CONFLICT DO NOTHING