Defect #42249
openHelp Understanding Database Migration Error in Redmine
0%
Description
Hi All.
Hope this issue find you well.
I am new to Redmine and have reviewed several cases before submitting this one.
I am currently migrating my Redmine instance from a very old version (2.1.3) to 5.1.6.
I have set up a new server running Ubuntu 22.04, and when I attempt to migrate the database using the following command:
RAILS_ENV=production bundle exec rake db:migrate
I encounter the following error:
20090503121505 PopulateMemberRoles: migrating ============================rake aborted!
StandardError: An error has occurred, all later migrations canceled:
undefined method `role_id' for #<Member id: 6, user_id: 3, project_id: 1, created_on: "2009-02-27 12:21:32.000000000 +0000", mail_notification: false>
Did you mean? role_ids
role_ids=
/var/lib/gems/3.0.0/gems/activemodel-6.1.7.10/lib/active_model/attribute_methods.rb:469:in `method_missing'
/opt/redmine/db/migrate/20090503121505_populate_member_roles.rb:5:in `block in up'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/relation/delegation.rb:88:in `each'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/relation/delegation.rb:88:in `each'
/opt/redmine/db/migrate/20090503121505_populate_member_roles.rb:4:in `up'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:830:in `up'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:870:in `public_send'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:870:in `exec_migration'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:851:in `block (2 levels) in migrate'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:850:in `block in migrate'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/connection_adapters/abstract/connection_pool.rb:462:in `with_connection'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:849:in `migrate'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1037:in `migrate'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1329:in `block in execute_migration_in_transaction'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1382:in `ddl_transaction'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1328:in `execute_migration_in_transaction'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1302:in `each'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1302:in `migrate_without_lock'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1251:in `block in migrate'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1401:in `block in with_advisory_lock'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1416:in `block in with_advisory_lock_connection'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/connection_adapters/abstract/connection_pool.rb:462:in `with_connection'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1416:in `with_advisory_lock_connection'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1397:in `with_advisory_lock'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1251:in `migrate'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1086:in `up'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1061:in `migrate'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/tasks/database_tasks.rb:237:in `migrate'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/railties/databases.rake:92:in `block (3 levels) in <top (required)>'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/railties/databases.rake:90:in `each'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/railties/databases.rake:90:in `block (2 levels) in <top (required)>'
/var/lib/gems/3.0.0/gems/rake-13.2.1/exe/rake:27:in `<top (required)>'
Caused by:
NoMethodError: undefined method `role_id' for #<Member id: 6, user_id: 3, project_id: 1, created_on: "2009-02-27 12:21:32.000000000 +0000", mail_notification: false>
Did you mean? role_ids
role_ids=
/var/lib/gems/3.0.0/gems/activemodel-6.1.7.10/lib/active_model/attribute_methods.rb:469:in `method_missing'
/opt/redmine/db/migrate/20090503121505_populate_member_roles.rb:5:in `block in up'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/relation/delegation.rb:88:in `each'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/relation/delegation.rb:88:in `each'
/opt/redmine/db/migrate/20090503121505_populate_member_roles.rb:4:in `up'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:830:in `up'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:870:in `public_send'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:870:in `exec_migration'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:851:in `block (2 levels) in migrate'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:850:in `block in migrate'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/connection_adapters/abstract/connection_pool.rb:462:in `with_connection'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:849:in `migrate'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1037:in `migrate'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1329:in `block in execute_migration_in_transaction'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1382:in `ddl_transaction'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1328:in `execute_migration_in_transaction'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1302:in `each'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1302:in `migrate_without_lock'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1251:in `block in migrate'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1401:in `block in with_advisory_lock'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1416:in `block in with_advisory_lock_connection'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/connection_adapters/abstract/connection_pool.rb:462:in `with_connection'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1416:in `with_advisory_lock_connection'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1397:in `with_advisory_lock'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1251:in `migrate'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1086:in `up'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/migration.rb:1061:in `migrate'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/tasks/database_tasks.rb:237:in `migrate'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/railties/databases.rake:92:in `block (3 levels) in <top (required)>'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/railties/databases.rake:90:in `each'
/var/lib/gems/3.0.0/gems/activerecord-6.1.7.10/lib/active_record/railties/databases.rake:90:in `block (2 levels) in <top (required)>'
/var/lib/gems/3.0.0/gems/rake-13.2.1/exe/rake:27:in `<top (required)>'
Tasks: TOP => db:migrate
Could you please help me understand what is happening?
Thanks in advance.
Updated by Go MAEDA 16 days ago
The issue you reported is quite puzzling.
This is because the database migration "20090503121505" was added in Redmine 0.9, so it shouldn't be executed during an update from Redmine 2.1.3. However, the fact that this migration is being executed suggests that there might be an issue with the data in the schema_migrations
table, which tracks completed migrations.