Last Update: 2018-11-30 09:22:15 -0800

New Features

  • A :qualify_tables option has been added to the class_table_inheritance plugin, which will automatically qualify subclass tables with the same qualifier as the superclass table if the superclass table is qualified.

  • Model#save_validation_on_next_save! has been added, which skips all validation on the next save to the object, including the running of validation related hooks. This method is designed for use only when Model#valid? is called on the object before saving, to avoid running validations on the object twice. This method takes precedence even over an explicit validate: true option passed to Model#save, and as such should be used with care.

  • The postgres adapter now supports a :conn_str Database option to use a PostgreSQL connection string (e.g. “host=foo port=2442”) when connecting. This option has preference over other connection related options if it is present.

Other Improvements

  • If a foreign key for a model object is changed from a nil value to a non-nil value, any cached associated objects related to the foreign key are no longer removed. Such associated objects could only be set manually, and if they have been set manually, it is probably not a good idea to remove them automatically.

  • When using the nested_attributes plugin, new *_to_many associated objects are not validated twice when saving.

  • The default table alias when using the class_table_inheritance plugin now correctly handles qualified tables.

  • A theoretical thread safety issue when assigning connections in the threaded connection pools has been fixed.

  • Renaming columns is now supported without emulation when using SQLite 3.25+.