All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
Please follow the format in Keep a Changelog
- Drop support for older than the latest EOL Ruby (2.7) and Rails (6.0)
- Fix support for Rails 6.0 and ForAlter
remove_index
. - Support Rails 7.1.2
- Support mysql gem version 0.5.5
- Support for connection to MySQL server over socket
- Support appending items to the general DSN. Used to apply workaround for PT-2126
- Support for ActiveRecord 6.1.4
- Relax mysql2 requirement to allow mysql2 0.5.4
- Support Rails 6' #upsert_all
- Support for ActiveRecord 6.1
- Support for ActiveRecord 6.0
- Support for ActiveRecord 5.2
- Relax mysql2 requirement to allow mysql2 0.5.3
- Support to batch multiple changes at once with #change_table
- Support for connection to MySQL server over SSL
- Depend only in railties and activerecord instead of rails gem
- Fix support for removing foreign keys
- Fix PERCONA_ARGS syntax for critical-load option
- Make sure quotes in ALTER TABLE get correctly escaped
- Fixes for regex handling
- Fix LHM compatibility
- Permit PERCONA_ARGS to be applied to db:migrate tasks
- Output lines are no longer wrapped at 8 chars
- Support for ActiveRecord 5.1
- Support for ActiveRecord 5.0
- Docker setup to run the spec suite
- Allow using bash special characters in passwords
- Support for all pt-osc command-line options, including short forms and array arguments
- Rename the gem from percona_migrator to departure.
- Percona_migrator's deprecation warnings when installing and running the gem.
- Support for ActiveRecord 4.2.x
- Support for Mysql2 4.x
- Allow passing any
pt-online-schema-change
's arguments through thePERCONA_ARGS
env var when executing a migration withrake db:migrate:up
ordb:migrate:down
. - Allow setting global percona arguments via gem configuration
- Filter MySQL's password from logs
- Enable default pt-online-schema-change replicas discovering mechanism.
So far, this was purposely set to
none
. To keep this same behaviour provide thePERCONA_ARGS=--recursion-method=none
env var when running the migration.
- Show pt-online-schema-change's stdout while the migration is running instead of at then and all at once.
- Store pt-online-schema-change's stderr to percona_migrator_error.log in the default Rails tmp folder.
- Allow configuring the tmp directory where the error log gets written into,
with the
tmp_path
configuration setting. - Support for ActiveRecord 4.0. Adds the following migration methods:
- #rename_index, #change_column_null, #add_reference, #remove_reference, #set_field_encoding, #add_timestamps, #remove_timestamps, #rename_table, #rename_column
- Toggle pt-online-schema-change's output as well when toggling the migration's verbose option.
- Enabled pt-online-schema-change's output while running the migration, that got broken in v0.1.0.rc.2
- Support non-ddl migrations by implementing the methods for the ActiveRecord quering to work.
- Refactor the PerconaAdapter to use the Runner as connection client, as all the other adapters.
- Raise a ActiveRecord::StatementInvalid on failed migration. It also provides more detailed error message when possible such as pt-onlin-schema-change being missing.
- Support #drop_table
- Support for foreing keys in db/schema.rb when using Foreigner gem in Rails 3 apps. This allows to define foreign keys with #execute, but does not provide support for add_foreign_key yet.
- Support #execute. Allows to execute raw SQL from the migration
- VERBOSE env var in tests. Specially useful for integration tests.
- Fix #create_table migration method. Now it does create the table.
- Use ActiveRecord's logger instead of specifying one in the connection data.
- Initial gem version