Rails Devs for Data Integrity: How to gracefully handle database key violations
Join the club: Rails Devs for Data Integrity
Some ways to handle unique and foreign key violations database exceptions gracefully in rails.
Join the club: Rails Devs for Data Integrity
Some ways to handle unique and foreign key violations database exceptions gracefully in rails.
Sometimes your java googles are lost in highly available sharding cluster. What to do?
Today I present Taking Active Record To the Next Level at the MySQL Conference and Expo! There is a lot of excitement in the Rails world due to Rails 3 merge with Merb which will provide framework agnosticism for the people. However, good, old, (sometimes not playing nice with MySQL) ActiveRecord is still the defacto [...]
The ar-extensions plugin extends ActiveRecord to help developers scale, optimize, and customize Rails interaction with the database. New ar-extensions is the ability to fine tune queries by specifying MySQL database options from ActiveRecord find and save methods.
The ar-extensions plugin, which extends ActiveRecord to help optimize interaction between Rails and the database, now provides support for MySQL INSERT SELECT functionality.
By default Rails uses int(11) as the standard for primary key (id) columns. MySQL prefers unsigned numeric types. Plugin mysql_migration_optimize supports unsigned integers, column display width and complete control over the primary key. Also explained is how to use different numeric types such as tinyint and bigint with Rails Migrations.
One of the many database features hated by Rails is enumerated columns. Even if you add them to your migration by dirtying your hands with SQL yourself, then the schemadumper interprets them as zero length strings as mentioned in Rob Sanheim’s blog. Funtime! I however like enumerated columns because they save space and are pretty, [...]
Changing column data to use MySQL functions instead of the actual column data for Ruby on Rails ActiveRecord is simple. To allow ActiveRecord to retrieve the data of the function, alias it to the column name. Event.find :all, :select => ‘substring(name, 1, 10) as name’ This produces the follow SQL query using MySQL SUBSTRING function: [...]