Translate

Mostrando las entradas con la etiqueta Sequel. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Sequel. Mostrar todas las entradas

viernes, 14 de abril de 2017

Sequel, un orm para Ruby

Sequel es un ORM para ruby, con todas las ventajas de un ORM y las ventajas que da un lenguaje como Ruby.

  • Sequel proporciona seguridad de subprocesos, agrupación de conexiones y un DSL conciso para la construcción de consultas SQL y esquemas de tabla.
  • Sequel incluye una capa completa de ORM para mapeos de tablas a objetos Ruby.
  • Sequel es compatible con funciones de base de datos avanzadas como sentencias, variables enlazadas, procedimientos almacenados, confirmación de dos fases, aislamiento de transacciones y fragmentación de bases de datos.
  • Actualmente, Sequel tiene adaptadores para ADO, Amalgalite, IBM_DB, JDBC, MySQL, Mysql2, ODBC, Oracle, PostgreSQL, SQLAnywhere, SQLite3 y TinyTDS.
Veamos un ejemplo de creación de tabla y inserción: 


require "rubygems"
require "sequel"

# connect to an in-memory database
DB = Sequel.sqlite

# create an items table
DB.create_table :items do
  primary_key :id
  String :name
  Float :price
end

# create a dataset from the items table
items = DB[:items]

# populate the table
items.insert(:name => 'abc', :price => rand * 100)
items.insert(:name => 'def', :price => rand * 100)
items.insert(:name => 'ghi', :price => rand * 100)

# print out the number of records
puts "Item count: #{items.count}"

# print out the average price
puts "The average price is: #{items.avg(:price)}"