From: Sharon Rosner Date: 2007-08-13T15:24:38+09:00 Subject: ANN: Sequel 0.1.9.6 Released Sequel version 0.1.9.6 has just been released. This release includes a number of big fixes and improvements, among which better schema definitions and better paginated datasets. I'd like to thank all of the people who made the effort to file bug reports, thus making Sequel better. Following is a discussion of the main changes: Improvements to Paginated Datasets ================================== Paginated datasets now provide a bit more information about themselves. The new methods are #pagination_record_count, #page_range and #current_page_record_range: # get page 4, 50 records per page paginated = DB[:items].reverse_order(:stamp).paginate(4, 50) # really just a cache of paginated.count paginated.pagination_record_count #=> 153 # range of available pages paginated.page_range #=> 1..4 # range of records in current page paginated.current_page_record_range #=> 151..153 Refactored Schema Definition Code ================================= The schema definition code has been re-factored and greatly simplified in order to provide better support for adapter-specific quirks and behaviors. This means that you no longer need to coerce Sequel to do what you want. For example, AUTO INCREMENT fields are now done correctly for each adapter, and primary keys default to the correct adapter-specific definition. Support for Specifying Field Sizes and SET/ENUM Columns ======================================================= Sequel now allows you to specify the field size: DB.create_table :items do varchar :name, :size => 64 end Note that if you define a varchar field and don't specify a size, Sequel will assume a field size of 255. There's also support for MySQL SET/ENUM fields: DB.create_table :items do enum :category, :elements => ['ruby', 'java', 'other'] end Sequel.dbi Convenience Method ============================= DBI users now have an easier way to open databases using DBI. The old method involved doing something ugly like: Sequel.open 'dbi:/ado', { :database => 'DBI:ADO:Provider=SQLNCLI;Data Source=(local)\ \sqlexpress;Integrated Security=SSPI' } The new Sequel.dbi method makes it look nicer: Sequel.dbi 'ADO:Provider=SQLNCLI;Data Source=(local)\ \sqlexpress;Integrated Security=SSPI' Miscellanea =========== * Changed MySQL adapter to automatically reconnect (issue #26). * Changed Sequel() to acccept variable arity. ============================================= Sequel project page: Sequel documentation: Join the Sequel-talk group: Install the gem: sudo gem install sequel Or check out the source and install manually: svn co http://ruby-sequel.googlecode.com/svn/trunk sequel cd sequel rake install