Sequel es mucho más que un ORM. Es una solución completa para interactuar con bases de datos desde Ruby, la gestión y la interfaz con la base de datos, no sólo sus datos.
Los desarrolladores pueden utilizar la consola IRB o DSL propia de Secuela de reunir rápidamente las bases de datos, gestionar esquemas, construir consultas SQL, ejecutar transacciones, ir a buscar los resultados, y convertir los resultados a un formato maleable Ruby.
Funciona como una capa de abstracción entre Ruby y SQL, ayudando a los desarrolladores con conocimientos de Ruby, pero con menor conocimiento del SQL.
bases de datos y herramientas compatibles:
ADO
Amalgalite
CUBRID
DataObjects
DB2
DBI
Firebird
IBM_DB
Informix
JDBC
MySQL
mysql2
ODBC
OpenBase
Oracle
PostgreSQL
SQLAnywhere
SQLite3
Swift
TinyTDS
¿Qué hay de nuevo en esta versión:
- Haga dataset.call_sproc (: inserto) el trabajo en el adaptador JDBC
- Añadir plugin de update_refresh, para actualizar una instancia de modelo al actualizar
- Añadir plugin de delay_add_association, para retrasar add_ * Método pide a los nuevos objetos hasta después de guardar el objeto
- Añadir plugin de validate_associated, para la validación de los objetos asociados al validar el objeto actual
- Haga Postgres :: JSONBOp # [] y volver #get_text casos JSONBOp
- Eliminar el fdbsql, JDBC / fdbsql y adaptadores OpenBase
- Base de datos de transacciones # devuelve ahora el valor de retorno del bloque si: rollback = & # X3e: se utiliza siempre
- Permitir PostgreSQL: // cadenas de conexión como alias de postgres: //, para la compatibilidad con libpq
- Marca Modelo # move_to en la lista de plugins manejar objetivos fuera de la gama sin elevar una excepción
- Haga base de datos PostgreSQL # add_named_conversion_proc en procsos conversión mango para tipos de enumeración
¿Qué es la nueva en la versión 4.24.0:
- Haga dataset.call_sproc (: inserto) trabajan en el adaptador JDBC
- Añadir plugin de update_refresh, para actualizar una instancia de modelo al actualizar
- Añadir plugin de delay_add_association, para retrasar add_ * Método pide a los nuevos objetos hasta después de guardar el objeto
- Añadir plugin de validate_associated, para la validación de los objetos asociados al validar el objeto actual
- Haga Postgres :: JSONBOp # [] y volver #get_text casos JSONBOp
- Eliminar el fdbsql, JDBC / fdbsql y adaptadores OpenBase
- Base de datos de transacciones # devuelve ahora el valor de retorno del bloque si: rollback = & # X3e: se utiliza siempre
- Permitir PostgreSQL: // cadenas de conexión como alias de postgres: //, para la compatibilidad con libpq
- Marca Modelo # move_to en la lista de plugins manejar objetivos fuera de la gama sin elevar una excepción
- Haga base de datos PostgreSQL # add_named_conversion_proc en procsos conversión mango para tipos de enumeración
¿Qué hay de nuevo en la versión 4.22.0:
- Haga JDBC / SQLAnywhere correctamente ajustado: entrada en AUTO_INCREMENT hashes de esquema
- Añadir Modelo # cancel_action para la cancelación de las acciones antes de ganchos, en lugar de tener los ganchos return false
- Soporte no establecer @@ wait_timeout de MySQL a través de: tiempo de espera = & # X3e; opción Base de datos nulos
- Agregado accessed_columns plugin, la grabación que se haya accedido columnas para una instancia de modelo
- Utilice la versión correcta migración cuando se utiliza con IntegerMigrator: allow_missing_migration_files
- Haga conjunto de datos # unión, #intersect, y #except manejar automáticamente conjuntos de datos con SQL prima
- column_conflicts Añadido plugin para manejar automáticamente las columnas que están en conflicto con los nombres de los métodos
- Agregado Modelo # get_column_value y #set_column_value para obtener / valores de las columnas del grupo
¿Qué hay de nuevo en la versión 4.21.0:
- Haga JDBC / SQLAnywhere correctamente ajustado: entrada en AUTO_INCREMENT hashes de esquema
- Añadir Modelo # cancel_action para la cancelación de las acciones antes de ganchos, en lugar de tener los ganchos return false
- Soporte no establecer @@ wait_timeout de MySQL a través de: tiempo de espera = & # X3e; opción Base de datos nulos
- Agregado accessed_columns plugin, la grabación que se haya accedido columnas para una instancia de modelo
- Utilice la versión correcta migración cuando se utiliza con IntegerMigrator: allow_missing_migration_files
- Haga conjunto de datos # unión, #intersect, y #except manejar automáticamente conjuntos de datos con SQL prima
- column_conflicts Añadido plugin para manejar automáticamente las columnas que están en conflicto con los nombres de los métodos
- Agregado Modelo # get_column_value y #set_column_value para obtener / valores de las columnas del grupo
¿Qué hay de nuevo en la versión 4.19.0:
- Haga JDBC / SQLAnywhere correctamente ajustado: entrada en AUTO_INCREMENT hashes de esquema
- Añadir Modelo # cancel_action para la cancelación de las acciones antes de ganchos, en lugar de tener los ganchos return false
- Soporte no establecer @@ wait_timeout de MySQL a través de: tiempo de espera = & # X3e; opción Base de datos nulos
- Agregado accessed_columns plugin, la grabación que se haya accedido columnas para una instancia de modelo
- Utilice la versión correcta migración cuando se utiliza con IntegerMigrator: allow_missing_migration_files
- Haga conjunto de datos # unión, #intersect, y #except manejar automáticamente conjuntos de datos con SQL prima
- column_conflicts Añadido plugin para manejar automáticamente las columnas que están en conflicto con los nombres de los métodos
- Agregado Modelo # get_column_value y #set_column_value para obtener / valores de las columnas del grupo
¿Qué es la nueva en la versión 4.18.0:
- Haga conjunto de datos # vacío? funciona cuando el conjunto de datos se ordena por una expresión no la columna.
- Fijo pasando un valor hash para:. Opción de asociación con ganas
- Tratar a todos los PG :: excepciones ConnectionBad como errores de desconexión en el adaptador de postgres.
- Agregado:. AUTO_INCREMENT clave a la información de esquema para las columnas de clave principal
- manejo fijo de cuadros calificados de esquema en asociaciones many_through_many.
¿Qué es la nueva en la versión 4.16.0:
- Haga base de datos # create_table? y #create_join_table? No utilice SI NO EXISTE si se agregan los índices
- conjunto de datos # distinta ahora acepta bloques de líneas virtuales
- Reconocer errores de desconexión en el adaptador de postgres cuando se utiliza SSL
- Detener la conversión '', valores por defecto a los valores por defecto de MySQL nil
- Agregado Modelo # qualified_pk_hash, para devolver un hash con claves pk cualificados
- Haga validates_unique utilizar una clave principal calificado si se une el conjunto de datos
- Haga Sequel :: Model.cache_associations = false saltar caché del esquema de la base de datos cuando se carga el esquema
- Haga base de datos # foreign_key_list trabajo en Microsoft SQL Server 2005
- Haga create_table con: opción extranjera reversible en PostgreSQL
¿Qué hay de nuevo en la versión 4.9.0:
- aceleración masiva por un conjunto de PostgreSQL analizador
- Agregar extensión current_datetime_timestamp, para las instancias Tiempo / DateTime actuales que están literalizado como CURRENT_TIMESTAMP
- Reconocer violaciónes adicionales restricción única en SQLite
- No quite valor de la columna al validar atributos anidados para one_to_ * asociación en la clave externa asociación es la clave primaria del modelo
- Agregar conjunto de datos # disable_insert_returning en PostgreSQL para omitir el uso implícito de volver
- Optimizar automáticamente modelo. [], .with_pk, Y .with_pk! para los modelos con claves compuestas
- Optimizar automáticamente modelo. [] Cuando se llama con un hash
- Reconocer COMPROBAR violaciónes de restricción en las nuevas versiones de SQLite
- No intente carga ansiosos cuando se llama conjunto de datos # columnas en el plugin eager_each
- Soporte: opción de controlador para el adaptador de JDBC, para especificar la clase controlador para los casos en que getConnection no funciona
¿Qué hay de nuevo en la versión 4.3.0:
- Reconocer otro error de desconexión en el adaptador de JDBC / AS400
- Haga conjunto de datos # calificar y Sequel.delay trabajar juntos
- Reconocer tipo Citext como cadena en PostgreSQL
- Soporte claves compuestas en el plugin rcte_tree
- Soporte claves compuestas en el plugin del árbol
- Haga Migrator.migrator_class público
- Haga PostgreSQL vacía trabajo conjunto literalización correctamente en PostgreSQL & # x3c; 8.4
- extensiones Añadido Sequel guía
- plugins Añadido modelo guía
¿Qué es la nueva en la versión 4.2.0:
- Añadido de base de datos # supports_partial_indexes? para comprobar si el apoyo índice parcial.
- El plug-in static_cache ahora no permite guardar / destruir si el:. Congelada = & # X3e; falsa opción no se utiliza
- Soporte: congelado = & # X3e; falsa opción en el plug-in static_cache, por tener nuevas instancias devuelto en lugar de instancias en caché congelados .
- Añadido extensión de base de datos pg_static_cache_updater para la escucha de cambios en tablas y actualizar static_cache cachés de forma automática.
- Añadido extensión mssql_emulate_lateral_with_apply para emular las consultas lateral que utilice CRUZ / OUTER APPLY.
- Apoyo lateral de consultas a través del conjunto de datos # lateral.
¿Qué es la nueva en la versión 4.1.1:
- select_map fijo, select_order_map y métodos single_value en eager_graphed conjuntos de datos.
¿Qué hay de nuevo en la versión 4.0.0:
- analizar correctamente las claves primarias compuestas en SQLite 3.7.16 +.
- Reconocer otro error de desconexión en el adaptador JDBC / Oracle.
- Agregado pg_json_ops extensión para llamar a las funciones JSON y operadores en PostgreSQL 9.3 +.
- Handle no JSON lisos cadenas, enteros y de coma flotante en columnas PostgreSQL JSON en extensión pg_json.
- conjunto de datos # a partir de ahora acepta bloques de líneas virtuales.
- Base de Datos de Alta # refresh_view en PostgreSQL para apoyar refrescante vistas materializadas.
- Apoyo a la base de datos # drop_view:. If_exists opción en PostgreSQL
- Apoyo a la base de datos # {crear, gota} _view: opción materializado para la creación de visualizaciones materializadas en PostgreSQL 9.3 + .
- Apoyo a la base de datos # create_view: opción recursiva para crear vistas recursivas en PostgreSQL 9.3 + .
- Apoyo a la base de datos # create_view: opción para el uso de columnas columnas explícitas .
¿Qué hay de nuevo en la versión 3.47.0:
- No fallar por falta proc conversión en pg_typecast_on_load plug-in
- Cambiar nombre PGRangeOp #starts_before y #ends_after a #ends_before y #starts_after
- Añadir base de datos # supports_schema_parsing? para la comprobación de esquema de análisis sintáctico de apoyo
- Handle hstore [] tipos de PostgreSQL si utilizando extensiones pg_array y pg_hstore
- No restablezca procsos conversión al cargar pg_ * extensiones
- tipos de dominio de la manija al analizar el esquema en PostgreSQL
- tipos de dominio de la manija en los tipos de compuestos en la extensión pg_row
¿Qué es la nueva en la versión 3.43.0:
- Mover el apoyo #meta_def para la base de datos, conjunto de datos, y modelo a la extensión meta_def.
- Fix Base de datos # copy_into en JDBC / postgres cuando se produce una excepción.
- Agregar extensión core_refinements, proporcionando versiones de refinamiento de las extensiones centrales de Sequel.
- Haga base de datos # copy_into levantar una DatabaseError si la base de datos indica un error en el adaptador de postgres.
- Definir respond_to_missing? donde se define method_missing y el objeto es compatible con respond_to?.
- Permitir procsos lambda con 0 aridad como bloques de líneas virtuales en Ruby 1.9.
¿Qué es la nueva en la versión 3.42.0:
- Si se produce una excepción al cometer una transacción, el intento para deshacer.
- tamaños de las columnas soporte de serie de ajustes predeterminados en función de cada base de datos a través de default_string_column_size.
- Restablecer Model.instance_dataset cuando se extiende el conjunto de datos del modelo.
- Hacer el trabajo force_encoding complemento con cuerdas congeladas.
- Base de datos # Añadido hacen en PostgreSQL para utilizar la instrucción DO código anónimo ejecución del bloque.
- Model.dataset_methods eliminados.
¿Qué es la nueva en la versión 3.41.0:.
- Añadido bin / secuela guía de uso
- Haga conjunto de datos # inversa y #reverse_order aceptar bloques de líneas virtuales.
- Agregado Sequel.delay para la evaluación genérica retrasado.
- Haga validaciones unicidad manejan correctamente los valores nulos.
- Soporte:. Opción no talado para create_table en PostgreSQL
¿Qué hay de nuevo en la versión 3.39.0:.
- Fijar defaults_setter para establecer los valores por defecto false
- Fijar consulta secuencia en serie en la base de datos # primary_key_sequence en PostgreSQL.
- Añadir base de datos # copy_into cuando se utiliza el adaptador de postgres con conductor pg, para las inserciones muy rápidos en las tablas.
- Combinar múltiples operaciones alter_table en una sola consulta que sea posible en MySQL y PostgreSQL.
- manejar conjuntos de operaciones alter_table en MySQL y MSSQL donde las operaciones posteriores dependen de los anteriores.
- Añadir constraint_validations plugin para el validaciones automáticas de constaints definidos por extensión.
- Añadir extensión constraint_validations para definir las restricciones de bases de datos similares a las validaciones.
- Añadir base de datos # supports_regexp? para comprobar si hay soporte para expresiones regulares.
- Añadir Sequel.trim para la función de cortar multiplataforma.
- Añadir Sequel.char_length para la función de plataforma cruzada char_length.
- Fijación de almacenamiento en caché de la versión del servidor MySQL.
¿Qué hay de nuevo en la versión 3.38.0:
- Sequel reconoce ahora el doble (x, y) y doble (x, y) sin signo tipos de MySQL.
- Los subadapters prestas ahora requieren una pronta-DB * en lugar de rápida sí mismo.
- Añadir:. Textsize opción de tinytds adaptador para anular el TEXTSIZE por defecto
- apoyar un método de identificador de salida en el adaptador rápida.
- Añadir Modelo # to_hash como un alias para modelar los valores #.
- Al cargar múltiples pg_ * extensiones a través de bases de datos # extensión, sólo se restablecen los procs de conversión de una vez.
- No permita que el modelo de encasillamiento de cadena en serie postgres, hstore, o tipos compuestos.
- Añadir plugin de pg_typecast_on_load para convertir tipos de PostgreSQL avanzadas de la carga de {JDBC, hacer, rápida} / postgres adaptadores.
- Haga todos los adaptadores que se conectan a PostgreSQL procsos conversión de tipo de tienda.
- Añadir OID tipo de esquema de columna en PostgreSQL.
¿Qué hay de nuevo en la versión 3.37.0:
- Se permite especificar la base eager_graph alias en una llamada per utilizando una base AliasedExpression
- Permitir bin / secuela de respetar múltiples opciones -l para iniciar sesión en varios archivos
- administran correctamente los casos en los que SCOPE_IDENTITY es nula en el adaptador ODBC / mssql
- Agregar extensión pg_interval, para el retorno de los tipos de intervalo como instancias ActiveSupport :: Duración
- Guardar un nuevo objeto asociado Clases Particulares Evaluación vez en lugar de dos veces en los nested_attributes Plugin
- No añadir condición de filtro innecesarios al pasar a un nuevo objeto a un método Clases Particulares Evaluación de la moda
- Diferenciar entre las referencias de columna y referencias de métodos de asociaciones many_through_many
- Uso: calificar = & # X3e: opción de profundidad al unir tablas en bases de datos de asociaciones modelo
¿Qué es la nueva en la versión 3.36.1:.
- adaptador JDBC DriverManager fijo cuando se produce un error # getConnection
¿Qué hay de nuevo en la versión 3.35.0:
- Manejar correctamente el análisis de esquema para las tablas de otras bases de datos MySQL.
- DSL apoyo añadido para el operador módulo (%), similar a los operadores bit a bit.
- fijas posibles problemas de hilos de seguridad en las implementaciones de rubí no GVL.
- Permitir que el truncamiento de varias tablas a la vez en PostgreSQL.
- Permitir truncado para tomar una: cascada,: solamente, y:. Opciones de reinicio en PostgreSQL
- Permitir JSON y XML serializadores para apoyar: la opción de matriz en a_json método de clase para serializar matriz existente de instancias de modelo .
- Añadido plugin de sucia, lo que ahorra el valor inicial de la columna cuando se cambia el valor.
¿Qué es la nueva en la versión 3.34.1:.
- Solución de error en la optimización de las operaciones de búsqueda de clave principal
¿Qué hay de nuevo en la versión 3.33.0:
- Añadir capacidad de forzar o desactivar por completo las transacciones en el migradores utilizando la opción: use_transactions
- Añadir posibilidad de desactivar las transacciones para las migraciones llamando no_transaction dentro del bloque Sequel.migration
- Permitir elegir específicamente qué migrador de usar a través de TimestampMigrator.apply o IntegerMigrator.apply
- Agregar extensión arbitrary_servers para permitir el uso de fragmentos arbitrarios servidores / proporcionando un hash de opciones como el servidor
- Agregar extensión server_block para el acceso de base de datos alcance el interior del bloque a un servidor por defecto / fragmento específico
- Respeto: opción de columna cotejar en MySQL
- Uso mysql2 :: :: FOUND_ROWS cliente para obtener el número exacto de filas encontradas en el adaptador mysql2
- usar MySQL # info para obtener el número exacto de filas encontradas en el adaptador de MySQL
- Haga adaptador de simulacro con el uso de lenguaje SQL específica por defecto apropiados en la cotización de los identificadores
- Hacer la lista de plugins valor del campo posición ajustada automáticamente al crearse, si no se ha definido
- Añadir base de datos # integer_booleans que fijan en SQLite para almacenar valores booleanos como enteros
- columnas Typecast almacenados como enteros / flota en el adaptador de SQLite
- En el plugin instance_hooks, (antes | después) _ * _ métodos de instancia de gancho ahora devuelven auto
- Mango NaN, infinito, y -Infinity flota sobre PostgreSQL
¿Qué hay de nuevo en la versión 3.32.0:
- Haga serialization_modification_detection trabajo plug-in correctamente con nuevos objetos y después de el ahorro de los objetos existentes.
- Haga refresca después de la creación del modelo borrar los valores deserializados en el plugin de serialización.
- Agregar conjunto de datos # update_ignore en MySQL, para el uso de ACTUALIZACIÓN IGNORE en las consultas.
- Permitir select_map / select_order_map para tomar tanto un argumento de columna y un bloque.
- solucionado el tratamiento de bloque de líneas virtual en select_map / select_order_map si el bloque devuelve una matriz.
- Añadir configuración Sequel.empty_array_handle_nulls, puede ser definido como false para un mejor rendimiento posible en algunas bases de datos.
- Cambiar excluye (: b = & # X3e; []) no devuelve filas donde b es NULL .
- Soporte ActiveModel 3.2 en el plugin active_model, añadiendo soporte para to_partial_path.
- Fix métodos de metadatos (tablas por ejemplo) en Oracle cuando se utilizan métodos de entrada de identificador personalizado.
- Fix # base de datos de índices en DB2.
¿Qué hay de nuevo en la versión 2.5:
- Añadir #set_defaults y #set_overrides del conjunto de datos, que se utiliza para establecer el ámbito del Los valores utilizados en las declaraciones de inserción / update
- permiten que los modelos que usen la cláusula DEVOLVER al insertar registros en PostgreSQL
- Levante Sequel :: DatabaseError en lugar de Sequel :: genérico de error de errores de base de datos, no tragar trazas de retorno
- Uso INSERT ... ... Volviendo con PostgreSQL 8.2 y superior
- Haga insert_sql, delete_sql, y update_sql respetar la opción: sql
- Por defecto para la conversión de 2 años dígito, utilice Sequel.convert_two_digit_years = false para volver al comportamiento anterior
- Haga el adaptador de PostgreSQL con el conductor pg uso async_exec, de modo que no bloquee todo el intérprete
- Haga los generadores de esquema de apoyo primario compuesto y claves externas y restricciones únicas
- El trabajo con la versión 2008.08.17 de la gema pg
- No permitir el abuso de la sintaxis de la función de SQL para este tipo (uso: Tipo = & # X3e: varchar,: tamaño = & # X3e; 255 en lugar de: type = & # X3e: varchar [255])
- Cita los nombres de índice al crear o eliminar índices
- No tienen métodos columna de descriptor de acceso tienen prioridad sobre los métodos de instancia de plugin
- Permitir validación de varios atributos a la vez, con el soporte incorporado para la comprobación de la singularidad de varias columnas
- En adaptador de PostgreSQL, fijar la inserción de una fila con un valor de clave principal dentro de una transacción
- Permitir before_save y before_update para afectar las columnas guardadas por save_changes
- Haga conjunto de datos # single_value trabajo con los gráficos, que fija el recuento y paginar en conjuntos de datos graficados
Requisitos
- Rubí 1.8.7 o superior
Comentarios que no se encuentran