Running the installer task in Rails 4.2.x environment causes the task to fail.
The issue is that versioned migrations are working only in Rails 5. Removing the [5.1] in the already copied migrations and running them worked just fine.
It's a minor inconvenience that can be easily fixed for each client but maybe you guys can have a look at it and if possible loosen up the versioned migrations thing.
Here is the full stack trace.
bundle exec rails g spree_mollie_gateway:install run bundle exec rake railties:install:migrations FROM=spree_mollie_gateway from "." Copied migration 20181108124521_create_spree_mollie_payment_sources.spree_mollie_gateway.rb from spree_mollie_gateway Copied migration 20181108124522_add_mollie_customer_id_to_spree_user.spree_mollie_gateway.rb from spree_mollie_gateway Would you like to run the migrations now? [Y/n] y run bundle exec rake db:migrate from "." -- [](5.1) -- [](5.1) rake aborted! NoMethodError: undefined method[]' for #
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:664:in block in method_missing' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:634:inblock in say_with_time'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:634:in say_with_time' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:654:inmethod_missing'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:416:in method_missing' /Users/filipandonovski/Desktop/Projects/bolas-backend/db/migrate/20181108124521_create_spree_mollie_payment_sources.spree_mollie_gateway.rb:2:in<top (required)>'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/polyglot-0.3.5/lib/polyglot.rb:65:in require' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/polyglot-0.3.5/lib/polyglot.rb:65:inrequire'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in block in require' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:240:inload_dependency'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in require' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:777:inload_migration'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:773:in migration' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:768:indisable_ddl_transaction'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:1051:in use_transaction?' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:961:inrescue in block in migrate'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:958:in block in migrate' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:955:ineach'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:955:in migrate' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:823:inup'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:801:in migrate' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:137:inmigrate'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/railties/databases.rake:44:in block (2 levels) in <top (required)>' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/rake-12.3.1/exe/rake:27:in<top (required)>'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/bin/ruby_executable_hooks:24:in eval' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/bin/ruby_executable_hooks:24:in'
Caused by:
NoMethodError: undefined method []' for #<ActiveRecord::Migration:0x007ffb526dbde8> /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:664:inblock in method_missing'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:634:in block in say_with_time' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:634:insay_with_time'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:654:in method_missing' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:416:inmethod_missing'
/Users/filipandonovski/Desktop/Projects/bolas-backend/db/migrate/20181108124521_create_spree_mollie_payment_sources.spree_mollie_gateway.rb:2:in <top (required)>' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/polyglot-0.3.5/lib/polyglot.rb:65:inrequire'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/polyglot-0.3.5/lib/polyglot.rb:65:in require' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:inblock in require'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:240:in load_dependency' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:inrequire'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:777:in load_migration' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:773:inmigration'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:768:in disable_ddl_transaction' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:1051:inuse_transaction?'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:1043:in ddl_transaction' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:997:inexecute_migration_in_transaction'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:959:in block in migrate' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:955:ineach'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:955:in migrate' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:823:inup'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:801:in migrate' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:137:inmigrate'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/railties/databases.rake:44:in block (2 levels) in <top (required)>' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/rake-12.3.1/exe/rake:27:in<top (required)>'
/Users/filipandonovski/.rvm/gems/ruby-2.3.3/bin/ruby_executable_hooks:24:in eval' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/bin/ruby_executable_hooks:24:in'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
`
Running the installer task in Rails 4.2.x environment causes the task to fail.
The issue is that versioned migrations are working only in Rails 5. Removing the [5.1] in the already copied migrations and running them worked just fine. It's a minor inconvenience that can be easily fixed for each client but maybe you guys can have a look at it and if possible loosen up the versioned migrations thing.
Here is the full stack trace.
bundle exec rails g spree_mollie_gateway:install run bundle exec rake railties:install:migrations FROM=spree_mollie_gateway from "." Copied migration 20181108124521_create_spree_mollie_payment_sources.spree_mollie_gateway.rb from spree_mollie_gateway Copied migration 20181108124522_add_mollie_customer_id_to_spree_user.spree_mollie_gateway.rb from spree_mollie_gateway Would you like to run the migrations now? [Y/n] y run bundle exec rake db:migrate from "." -- [](5.1) -- [](5.1) rake aborted! NoMethodError: undefined method
[]' for #block in method_missing' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:634:in
block in say_with_time' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:634:insay_with_time' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:654:in
method_missing' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:416:inmethod_missing' /Users/filipandonovski/Desktop/Projects/bolas-backend/db/migrate/20181108124521_create_spree_mollie_payment_sources.spree_mollie_gateway.rb:2:in
<top (required)>' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/polyglot-0.3.5/lib/polyglot.rb:65:inrequire' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/polyglot-0.3.5/lib/polyglot.rb:65:in
require' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:inblock in require' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:240:in
load_dependency' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:inrequire' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:777:in
load_migration' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:773:inmigration' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:768:in
disable_ddl_transaction' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:1051:inuse_transaction?' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:961:in
rescue in block in migrate' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:958:inblock in migrate' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:955:in
each' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:955:inmigrate' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:823:in
up' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:801:inmigrate' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:137:in
migrate' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/railties/databases.rake:44:inblock (2 levels) in <top (required)>' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/rake-12.3.1/exe/rake:27:in
<top (required)>' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/bin/ruby_executable_hooks:24:ineval' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/bin/ruby_executable_hooks:24:in
Caused by: NoMethodError: undefined method'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
`
[]' for #<ActiveRecord::Migration:0x007ffb526dbde8> /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:664:in
block in method_missing' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:634:inblock in say_with_time' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:634:in
say_with_time' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:654:inmethod_missing' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:416:in
method_missing' /Users/filipandonovski/Desktop/Projects/bolas-backend/db/migrate/20181108124521_create_spree_mollie_payment_sources.spree_mollie_gateway.rb:2:in<top (required)>' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/polyglot-0.3.5/lib/polyglot.rb:65:in
require' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/polyglot-0.3.5/lib/polyglot.rb:65:inrequire' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in
block in require' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:240:inload_dependency' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in
require' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:777:inload_migration' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:773:in
migration' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:768:indisable_ddl_transaction' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:1051:in
use_transaction?' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:1043:inddl_transaction' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:997:in
execute_migration_in_transaction' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:959:inblock in migrate' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:955:in
each' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:955:inmigrate' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:823:in
up' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/migration.rb:801:inmigrate' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:137:in
migrate' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.5/lib/active_record/railties/databases.rake:44:inblock (2 levels) in <top (required)>' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/gems/rake-12.3.1/exe/rake:27:in
<top (required)>' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/bin/ruby_executable_hooks:24:ineval' /Users/filipandonovski/.rvm/gems/ruby-2.3.3/bin/ruby_executable_hooks:24:in