Sequel

Software Screenshot:
Sequel
Software Details:
Version: 4.27.0 updated
Upload Date: 10 Feb 16
Developer: Jeremy Evans
Distribution Type: Freeware
Downloads: 68

Rating: 3.0/5 (Total Votes: 3)

Sequel is much more than an ORM. It's a complete solution for interacting with databases from Ruby, managing and interfacing with the entire database, not just its data.

Developers can use the IRB console or Sequel's own DSL to quickly assemble databases, manage schemas, build SQL queries, run transactions, fetch results, and convert the results to a Ruby malleable format.

It works like an abstraction layer between Ruby and SQL, helping developers with Ruby skills, but with lesser SQL knowledge.

Supported databases and tools:

ADO

Amalgalite

CUBRID

DataObjects

DB2

DBI

Firebird

IBM_DB

Informix

JDBC

MySQL

Mysql2

ODBC

OpenBase

Oracle

PostgreSQL

SQLAnywhere

SQLite3

Swift

TinyTDS

What is new in this release:

  • Make dataset.call_sproc(:insert) work in the jdbc adapter
  • Add update_refresh plugin, for refreshing a model instance when updating
  • Add delay_add_association plugin, for delaying add_* method calls on new objects until after saving the object
  • Add validate_associated plugin, for validating associated objects when validating the current object
  • Make Postgres::JSONBOp#[] and #get_text return JSONBOp instances
  • Remove the fdbsql, jdbc/fdbsql, and openbase adapters
  • Database#transaction now returns block return value if :rollback=>:always is used
  • Allow postgresql:// connection strings as aliases to postgres://, for compatibility with libpq
  • Make Model#move_to in the list plugin handle out-of-range targets without raising an exception
  • Make Database#add_named_conversion_proc on PostgreSQL handle conversion procs for enum types

What is new in version 4.24.0:

  • Make dataset.call_sproc(:insert) work in the jdbc adapter
  • Add update_refresh plugin, for refreshing a model instance when updating
  • Add delay_add_association plugin, for delaying add_* method calls on new objects until after saving the object
  • Add validate_associated plugin, for validating associated objects when validating the current object
  • Make Postgres::JSONBOp#[] and #get_text return JSONBOp instances
  • Remove the fdbsql, jdbc/fdbsql, and openbase adapters
  • Database#transaction now returns block return value if :rollback=>:always is used
  • Allow postgresql:// connection strings as aliases to postgres://, for compatibility with libpq
  • Make Model#move_to in the list plugin handle out-of-range targets without raising an exception
  • Make Database#add_named_conversion_proc on PostgreSQL handle conversion procs for enum types

What is new in version 4.22.0:

  • Make jdbc/sqlanywhere correctly set :auto_increment entry in schema hashes
  • Add Model#cancel_action for canceling actions in before hooks, instead of having the hooks return false
  • Support not setting @@wait_timeout on MySQL via :timeout=>nil Database option
  • Added accessed_columns plugin, recording which columns have been accessed for a model instance
  • Use correct migration version when using IntegerMigrator with :allow_missing_migration_files
  • Make Dataset#union, #intersect, and #except automatically handle datasets with raw SQL
  • Added column_conflicts plugin to automatically handle columns that conflict with method names
  • Added Model#get_column_value and #set_column_value to get/set column values

What is new in version 4.21.0:

  • Make jdbc/sqlanywhere correctly set :auto_increment entry in schema hashes
  • Add Model#cancel_action for canceling actions in before hooks, instead of having the hooks return false
  • Support not setting @@wait_timeout on MySQL via :timeout=>nil Database option
  • Added accessed_columns plugin, recording which columns have been accessed for a model instance
  • Use correct migration version when using IntegerMigrator with :allow_missing_migration_files
  • Make Dataset#union, #intersect, and #except automatically handle datasets with raw SQL
  • Added column_conflicts plugin to automatically handle columns that conflict with method names
  • Added Model#get_column_value and #set_column_value to get/set column values

What is new in version 4.19.0:

  • Make jdbc/sqlanywhere correctly set :auto_increment entry in schema hashes
  • Add Model#cancel_action for canceling actions in before hooks, instead of having the hooks return false
  • Support not setting @@wait_timeout on MySQL via :timeout=>nil Database option
  • Added accessed_columns plugin, recording which columns have been accessed for a model instance
  • Use correct migration version when using IntegerMigrator with :allow_missing_migration_files
  • Make Dataset#union, #intersect, and #except automatically handle datasets with raw SQL
  • Added column_conflicts plugin to automatically handle columns that conflict with method names
  • Added Model#get_column_value and #set_column_value to get/set column values

What is new in version 4.18.0:

  • Make Dataset#empty? work when the dataset is ordered by a non-column expression.
  • Fixed passing a hash value to :eager association option.
  • Treat all PG::ConnectionBad exceptions as disconnect errors in the postgres adapter.
  • Added :auto_increment key to schema information for primary key columns.
  • Fixed handling of schema qualified tables in many_through_many associations.

What is new in version 4.16.0:

  • Make Database#create_table? and #create_join_table? not use IF NOT EXISTS if indexes are being added
  • Dataset#distinct now accepts virtual row blocks
  • Recognize disconnect errors in the postgres adapter when SSL is used
  • Stop converting '' default values to nil default values on MySQL
  • Added Model#qualified_pk_hash, for returning a hash with qualified pk keys
  • Make validates_unique use a qualified primary key if the dataset is joined
  • Make Sequel::Model.cache_associations = false skip the database's schema cache when loading the schema
  • Make Database#foreign_key_list work on Microsoft SQL Server 2005
  • Make create_table with :foreign option reversible on PostgreSQL

What is new in version 4.9.0:

  • Massive speedup for PostgreSQL array parser
  • Add current_datetime_timestamp extension, for current Time/DateTime instances that are literalized as CURRENT_TIMESTAMP
  • Recognize additional unique constraint violations on SQLite
  • Don't remove column value when validating nested attributes for one_to_* association where association foreign key is the model's primary key
  • Add Dataset#disable_insert_returning on PostgreSQL for skipping implicit use of RETURNING
  • Automatically optimize Model.[], .with_pk, and .with_pk! for models with composite keys
  • Automatically optimize Model.[] when called with a hash
  • Recognize CHECK constraint violations on newer versions of SQLite
  • Do not attempt to eager load when calling Dataset#columns in the eager_each plugin
  • Support :driver option for jdbc adapter, for specifying driver class for cases where getConnection doesn't work

What is new in version 4.3.0:

  • Recognize another disconnect error in the jdbc/as400 adapter
  • Make Dataset#qualify and Sequel.delay work together
  • Recognize citext type as string on PostgreSQL
  • Support composite keys in the rcte_tree plugin
  • Support composite keys in the tree plugin
  • Make Migrator.migrator_class public
  • Make PostgreSQL empty array literalization work correctly on PostgreSQL <8.4
  • Added Sequel extensions guide
  • Added model plugins guide

What is new in version 4.2.0:

  • Added Database#supports_partial_indexes? to check for partial index support.
  • The static_cache plugin now disallows saving/destroying if the :frozen=>false option is not used.
  • Support :frozen=>false option in static_cache plugin, for having new instances returned instead of frozen cached instances.
  • Added pg_static_cache_updater Database extension for listening for changes to tables and updating static_cache caches automatically.
  • Added mssql_emulate_lateral_with_apply extension for emulating LATERAL queries using CROSS/OUTER APPLY.
  • Support LATERAL queries via Dataset#lateral.

What is new in version 4.1.1:

  • Fixed select_map, select_order_map, and single_value methods on eager_graphed datasets.

What is new in version 4.0.0:

  • Correctly parse composite primary keys on SQLite 3.7.16+.
  • Recognize another disconnect error in the jdbc/oracle adapter.
  • Added pg_json_ops extension for calling JSON functions and operators in PostgreSQL 9.3+.
  • Handle non-JSON plain strings, integers, and floats in PostgreSQL JSON columns in pg_json extension.
  • Dataset#from now accepts virtual row blocks.
  • Added Database#refresh_view on PostgreSQL to support refreshing materialized views.
  • Support the Database#drop_view :if_exists option on PostgreSQL.
  • Support the Database#{create,drop}_view :materialized option for creating materialized views in PostgreSQL 9.3+.
  • Support the Database#create_view :recursive option for creating recursive views in PostgreSQL 9.3+.
  • Support the Database#create_view :columns option for using explicit columns.

What is new in version 3.47.0:

  • Don't fail for missing conversion proc in pg_typecast_on_load plugin
  • Rename PGRangeOp #starts_before and #ends_after to #ends_before and #starts_after
  • Add Database#supports_schema_parsing? for checking for schema parsing support
  • Handle hstore[] types on PostgreSQL if using pg_array and pg_hstore extensions
  • Don't reset conversion procs when loading pg_* extensions
  • Handle domain types when parsing the schema on PostgreSQL
  • Handle domain types in composite types in the pg_row extension

What is new in version 3.43.0:

  • Move the #meta_def support for Database, Dataset, and Model to the meta_def extension.
  • Fix Database#copy_into on jdbc/postgres when an exception is raised.
  • Add core_refinements extension, providing refinement versions of Sequel's core extensions.
  • Make Database#copy_into raise a DatabaseError if the database signals an error in the postgres adapter.
  • Define respond_to_missing? where method_missing is defined and the object supports respond_to?.
  • Allow lambda procs with 0 arity as virtual row blocks on Ruby 1.9.

What is new in version 3.42.0:

  • If an exception occurs while committing a transaction, attempt to rollback.
  • Support setting default string column sizes on a per-Database basis via default_string_column_size.
  • Reset Model.instance_dataset when extending the model's dataset.
  • Make the force_encoding plugin work with frozen strings.
  • Added Database#do on PostgreSQL for using the DO anonymous code block execution statement.
  • Removed Model.dataset_methods.

What is new in version 3.41.0:

  • Added bin/sequel usage guide.
  • Make Dataset#reverse and #reverse_order accept virtual row blocks.
  • Added Sequel.delay for generic delayed evaluation.
  • Make uniqueness validations correctly handle nil values.
  • Support :unlogged option for create_table on PostgreSQL.

What is new in version 3.39.0:

  • Fix defaults_setter to set false default values.
  • Fix serial sequence query in Database#primary_key_sequence on PostgreSQL.
  • Add Database#copy_into when using postgres adapter with pg driver, for very fast inserts into tables.
  • Combine multiple alter_table operations into a single query where possible on MySQL and PostgreSQL.
  • Handle sets of alter_table operations on MySQL and MSSQL where later operations depend on earlier ones.
  • Add constraint_validations plugin for automatic validations of constaints defined by extension.
  • Add constraint_validations extension for defining database constraints similar to validations.
  • Add Database#supports_regexp? for checking for regular expression support.
  • Add Sequel.trim for cross platform trim function.
  • Add Sequel.char_length for cross platform char_length function.
  • Fixing caching of MySQL server version.

What is new in version 3.38.0:

  • Sequel now recognizes the double(x, y) and double(x, y) unsigned MySQL types.
  • The swift subadapters now require swift-db-* instead of swift itself.
  • Add :textsize option to tinytds adapter to override the default TEXTSIZE.
  • Support an output identifier method in the swift adapter.
  • Add Model#to_hash as an alias to Model#values.
  • When loading multiple pg_* extensions via Database#extension, only reset the conversion procs once.
  • Don't allow model typecasting from string to postgres array, hstore, or composite types.
  • Add pg_typecast_on_load plugin for converting advanced PostgreSQL types on load the {jdbc,do,swift}/postgres adapters.
  • Make all adapters that connect to PostgreSQL store type conversion procs.
  • Add type oid to column schema on PostgreSQL.

What is new in version 3.37.0:

  • Allow specifying eager_graph alias base on a per-call basis using an AliasedExpression
  • Allow bin/sequel to respect multiple -l options for logging to multiple files
  • Correctly handle cases where SCOPE_IDENTITY is nil in the odbc/mssql adapter
  • Add pg_interval extension, for returning interval types as ActiveSupport::Duration instances
  • Save a new one_to_one associated object once instead of twice in the nested_attributes plugin
  • Don't add unnecessary filter condition when passing a new object to a one_to_one setter method
  • Differentiate between column references and method references in many_through_many associations
  • Use :qualify=>:deep option when joining tables in model association datasets

What is new in version 3.36.1:

  • Fixed jdbc adapter when DriverManager#getConnection fails.

What is new in version 3.35.0:

  • Correctly handle parsing schema for tables in other databases on MySQL.
  • Added DSL support for the modulus operator (%), similar to the bitwise operators.
  • Fixed possible thread-safety issues on non-GVL ruby implementations.
  • Allow truncation of multiple tables at the same time on PostgreSQL.
  • Allow truncate to take a :cascade, :only, and :restart options on PostgreSQL.
  • Allow json and xml serializers to support :array option in class to_json method to serialize existing array of model instances.
  • Added dirty plugin, which saves the initial value of the column when the value is changed.

What is new in version 3.34.1:

  • Fixed bug in optimization of primary key lookup.

What is new in version 3.33.0:

  • Add ability to force or disable transactions completely in the migrators using the :use_transactions option
  • Add ability to turn off transactions for migrations by calling no_transaction inside the Sequel.migration block
  • Allow specifically choosing which migrator to use via TimestampMigrator.apply or IntegerMigrator.apply
  • Add arbitrary_servers extension to allow the use of arbitrary servers/shards by providing a hash of options as the server
  • Add server_block extension to scope database access inside the block to a specific default server/shard
  • Respect :collate column option on MySQL
  • Use Mysql2::Client::FOUND_ROWS to get accurate number of rows matched in the mysql2 adapter
  • Use Mysql#info to get accurate number of rows matched in the mysql adapter
  • Make mock adapter with specific SQL dialect use appropriate defaults for quoting identifiers
  • Make list plugin automatically set position field value on creation if not already set
  • Add Database#integer_booleans setting on SQLite to store booleans as integers
  • Typecast columns stored as integers/floats in the SQLite adapter
  • In the instance_hooks plugin, (before|after)_*_hook instance methods now return self
  • Handle NaN, Infinity, and -Infinity floats on PostgreSQL

What is new in version 3.32.0:

  • Make serialization_modification_detection plugin work correctly with new objects and after saving existing objects.
  • Make refreshes after model creation clear the deserialized values in the serialization plugin.
  • Add Dataset#update_ignore on MySQL, for using UPDATE IGNORE in queries.
  • Allow select_map/select_order_map to take both a column argument and a block.
  • Fix virtual row block handling in select_map/select_order_map if block returns an array.
  • Add Sequel.empty_array_handle_nulls setting, can be set to false for possible better performance on some databases.
  • Change exclude(:b=>[]) to not return rows where b is NULL.
  • Support ActiveModel 3.2 in the active_model plugin, by adding support for to_partial_path.
  • Fix metadata methods (e.g. tables) on Oracle when custom identifier input methods are used.
  • Fix Database#indexes on DB2.

What is new in version 2.5:

  • Add Dataset #set_defaults and #set_overrides, used for scoping the values used in insert/update statements
  • Allow Models to use the RETURNING clause when inserting records on PostgreSQL
  • Raise Sequel::DatabaseError instead of generic Sequel::Error for database errors, don't swallow tracebacks
  • Use INSERT ... RETURNING ... with PostgreSQL 8.2 and higher
  • Make insert_sql, delete_sql, and update_sql respect the :sql option
  • Default to converting 2 digit years, use Sequel.convert_two_digit_years = false to get back the old behavior
  • Make the PostgreSQL adapter with the pg driver use async_exec, so it doesn't block the entire interpreter
  • Make the schema generators support composite primary and foreign keys and unique constraints
  • Work with the 2008.08.17 version of the pg gem
  • Disallow abuse of SQL function syntax for types (use :type=>:varchar, :size=>255 instead of :type=>:varchar[255])
  • Quote index names when creating or dropping indexes
  • Don't have column accessor methods override plugin instance methods
  • Allow validation of multiple attributes at once, with built in support for uniqueness checking of multiple columns
  • In PostgreSQL adapter, fix inserting a row with a primary key value inside a transaction
  • Allow before_save and before_update to affect the columns saved by save_changes
  • Make Dataset#single_value work when graphing, which fixes count and paginate on graphed datasets

Requirements:

  • Ruby 1.8.7 or higher

Similar Software

DBKiss
DBKiss

13 May 15

MongoBit
MongoBit

13 May 15

SimpleCrud
SimpleCrud

14 Apr 15

Comments to Sequel

Comments not found
Add Comment
Turn on images!