From 353b14f473ec0e2e9bb45617f7283ba4a0a25872 Mon Sep 17 00:00:00 2001 From: Lucas Mazza Date: Mon, 7 Mar 2016 11:34:19 -0300 Subject: [PATCH] Use versioned migrations when possible Rails 5 deprecates inheriting directly from `ActiveRecord::Migration` in favor of inheriting from `ActiveRecord::Migration[5.0]` where `5.0` is the `major.minor` version of Rails that the migration was originally written to support. h/t to https://github.com/thoughtbot/clearance/commit/b0ce189c69d52155660232604cc30d729d6b4221. --- lib/generators/active_record/devise_generator.rb | 10 ++++++++-- lib/generators/active_record/templates/migration.rb | 2 +- .../active_record/templates/migration_existing.rb | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/generators/active_record/devise_generator.rb b/lib/generators/active_record/devise_generator.rb index ff73b971..ffcca870 100644 --- a/lib/generators/active_record/devise_generator.rb +++ b/lib/generators/active_record/devise_generator.rb @@ -11,9 +11,9 @@ module ActiveRecord def copy_devise_migration if (behavior == :invoke && model_exists?) || (behavior == :revoke && migration_exists?(table_name)) - migration_template "migration_existing.rb", "db/migrate/add_devise_to_#{table_name}.rb" + migration_template "migration_existing.rb", "db/migrate/add_devise_to_#{table_name}.rb", migration_version: migration_version else - migration_template "migration.rb", "db/migrate/devise_create_#{table_name}.rb" + migration_template "migration.rb", "db/migrate/devise_create_#{table_name}.rb", migration_version: migration_version end end @@ -86,6 +86,12 @@ RUBY config = ActiveRecord::Base.configurations[Rails.env] config && config['adapter'] == 'postgresql' end + + def migration_version + if rails5? + "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]" + end + end end end end diff --git a/lib/generators/active_record/templates/migration.rb b/lib/generators/active_record/templates/migration.rb index cf7b1dcf..2df528a9 100644 --- a/lib/generators/active_record/templates/migration.rb +++ b/lib/generators/active_record/templates/migration.rb @@ -1,4 +1,4 @@ -class DeviseCreate<%= table_name.camelize %> < ActiveRecord::Migration +class DeviseCreate<%= table_name.camelize %> < ActiveRecord::Migration<%= migration_version %> def change create_table :<%= table_name %> do |t| <%= migration_data -%> diff --git a/lib/generators/active_record/templates/migration_existing.rb b/lib/generators/active_record/templates/migration_existing.rb index b6db505b..d7893343 100644 --- a/lib/generators/active_record/templates/migration_existing.rb +++ b/lib/generators/active_record/templates/migration_existing.rb @@ -1,4 +1,4 @@ -class AddDeviseTo<%= table_name.camelize %> < ActiveRecord::Migration +class AddDeviseTo<%= table_name.camelize %> < ActiveRecord::Migration<%= migration_version %> def self.up change_table :<%= table_name %> do |t| <%= migration_data -%>