Improvements¶ ↑
-
Running migrations using one of the included migrators on separate Database objects in separate threads simultaneously is now supported. Previously, the migrators were not thread-safe.
-
On Ruby 2.5+, :db_type entries in the schema hashes are now deduped for a slight memory savings when using many columns with the same database type.
-
The schema_caching extension now freezes string values in the resulting hashes, just as the default schema parsing code started doing in 5.5.0.
-
The schema_caching extension now supports the :callable_default schema values used by the pg_json, pg_array, and pg_hstore extensions, by removing the entry before caching and resetting it after restoring the cache.
-
Identifier mangling rules are now respected when renaming columns on Microsoft SQL Server.
Backwards Compatibility¶ ↑
-
The migrator internals were modified in order to support thread-safety. The private Migrator#remove_migration_classes method has been removed, and load_migration_file now returns the migration object/class instead of populating Migration.descendants. Migration.descendants is now only used for temporary storage, and will no longer contain all migration objects/classes used by the migrator.