Project

General

Profile

Actions

Bug #26403

closed

[Debian Stretch] foreman-rake db:migrate -> Duplicate column name 'label'

Added by Stefan Eriksson about 5 years ago. Updated over 4 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
-
Category:
Database
Target version:
-
Difficulty:
Triaged:
No
Fixed in Releases:
Found in Releases:

Description

Hi

I install a new version of foreman 1.21 on debian stretch, I use the mysql backend and create a database with:

mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 16799
Server version: 10.1.37-MariaDB-0+deb9u1 Debian 9.6

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

create database foreman; # CREATE DATABASE foreman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

The error I get is:

 foreman-rake db:migrate
Apipie cache enabled but not present yet. Run apipie:cache rake task to speed up API calls.
rake aborted!
Sequel::DatabaseError: Mysql2::Error: Duplicate column name 'label'
/usr/share/foreman/vendor/ruby/2.3.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:131:in `_query'
/usr/share/foreman/vendor/ruby/2.3.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:131:in `block in query'
/usr/share/foreman/vendor/ruby/2.3.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:130:in `handle_interrupt'
/usr/share/foreman/vendor/ruby/2.3.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:130:in `query'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/adapters/mysql2.rb:137:in `block in _execute'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/database/logging.rb:38:in `log_connection_yield'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/adapters/mysql2.rb:132:in `_execute'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/adapters/utils/mysql_mysql2.rb:39:in `block in execute'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/database/connecting.rb:253:in `block in synchronize'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/connection_pool/threaded.rb:92:in `hold'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/database/connecting.rb:253:in `synchronize'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/adapters/utils/mysql_mysql2.rb:39:in `execute'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/adapters/mysql2.rb:68:in `execute_dui'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/database/query.rb:43:in `execute_ddl'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/adapters/utils/split_alter_table.rb:37:in `block (2 levels) in apply_alter_table'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/adapters/utils/split_alter_table.rb:37:in `each'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/adapters/utils/split_alter_table.rb:37:in `block in apply_alter_table'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/adapters/utils/split_alter_table.rb:35:in `each'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/adapters/utils/split_alter_table.rb:35:in `apply_alter_table'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/database/schema_methods.rb:433:in `apply_alter_table_generator'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/database/schema_methods.rb:70:in `alter_table'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/persistence_adapters/sequel_migrations/010_add_execution_plans_label.rb:3:in `block (2 levels) in <top (required)>'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/extensions/migration.rb:107:in `instance_exec'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/extensions/migration.rb:107:in `apply'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/extensions/migration.rb:555:in `block (2 levels) in run'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/extensions/migration.rb:477:in `checked_transaction'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/extensions/migration.rb:554:in `block in run'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/extensions/migration.rb:551:in `each'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/extensions/migration.rb:551:in `run'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/extensions/migration.rb:402:in `run'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/persistence_adapters/sequel.rb:261:in `migrate_db'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/persistence_adapters/sequel.rb:53:in `initialize'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/rails/configuration.rb:186:in `new'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/rails/configuration.rb:186:in `initialize_persistence'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/rails/configuration.rb:130:in `block (2 levels) in world_config'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/config.rb:42:in `method_missing'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/world.rb:28:in `initialize'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/rails/configuration.rb:78:in `new'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/rails/configuration.rb:78:in `initialize_world'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/rails.rb:104:in `init_world'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/rails.rb:37:in `initialize!'
/usr/share/foreman/config/application.rb:312:in `init_dynflow'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/railtie.rb:190:in `public_send'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/railtie.rb:190:in `method_missing'
/usr/share/foreman/config/application.rb:287:in `block in <class:Application>'
/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/lazy_load_hooks.rb:69:in `block in execute_hook'
/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/lazy_load_hooks.rb:62:in `with_execution_control'
/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/lazy_load_hooks.rb:67:in `execute_hook'
/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/lazy_load_hooks.rb:52:in `block in run_load_hooks'
/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/lazy_load_hooks.rb:51:in `each'
/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/lazy_load_hooks.rb:51:in `run_load_hooks'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/application/finisher.rb:75:in `block in <module:Finisher>'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/initializable.rb:32:in `instance_exec'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/initializable.rb:32:in `run'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/initializable.rb:61:in `block in run_initializers'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/initializable.rb:60:in `run_initializers'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/application.rb:361:in `initialize!'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/railtie.rb:190:in `public_send'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/railtie.rb:190:in `method_missing'
/usr/share/foreman/config/environment.rb:5:in `<top (required)>'
/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:287:in `require'
/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:287:in `block in require'
/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:253:in `load_dependency'
/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:287:in `require'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/application.rb:337:in `require_environment!'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/application.rb:520:in `block in run_tasks_blocks'

Caused by:
Mysql2::Error: Duplicate column name 'label'
/usr/share/foreman/vendor/ruby/2.3.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:131:in `_query'
/usr/share/foreman/vendor/ruby/2.3.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:131:in `block in query'
/usr/share/foreman/vendor/ruby/2.3.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:130:in `handle_interrupt'
/usr/share/foreman/vendor/ruby/2.3.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:130:in `query'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/adapters/mysql2.rb:137:in `block in _execute'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/database/logging.rb:38:in `log_connection_yield'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/adapters/mysql2.rb:132:in `_execute'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/adapters/utils/mysql_mysql2.rb:39:in `block in execute'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/database/connecting.rb:253:in `block in synchronize'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/connection_pool/threaded.rb:92:in `hold'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/database/connecting.rb:253:in `synchronize'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/adapters/utils/mysql_mysql2.rb:39:in `execute'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/adapters/mysql2.rb:68:in `execute_dui'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/database/query.rb:43:in `execute_ddl'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/adapters/utils/split_alter_table.rb:37:in `block (2 levels) in apply_alter_table'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/adapters/utils/split_alter_table.rb:37:in `each'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/adapters/utils/split_alter_table.rb:37:in `block in apply_alter_table'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/adapters/utils/split_alter_table.rb:35:in `each'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/adapters/utils/split_alter_table.rb:35:in `apply_alter_table'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/database/schema_methods.rb:433:in `apply_alter_table_generator'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/database/schema_methods.rb:70:in `alter_table'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/persistence_adapters/sequel_migrations/010_add_execution_plans_label.rb:3:in `block (2 levels) in <top (required)>'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/extensions/migration.rb:107:in `instance_exec'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/extensions/migration.rb:107:in `apply'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/extensions/migration.rb:555:in `block (2 levels) in run'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/extensions/migration.rb:477:in `checked_transaction'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/extensions/migration.rb:554:in `block in run'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/extensions/migration.rb:551:in `each'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/extensions/migration.rb:551:in `run'
/usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.17.0/lib/sequel/extensions/migration.rb:402:in `run'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/persistence_adapters/sequel.rb:261:in `migrate_db'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/persistence_adapters/sequel.rb:53:in `initialize'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/rails/configuration.rb:186:in `new'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/rails/configuration.rb:186:in `initialize_persistence'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/rails/configuration.rb:130:in `block (2 levels) in world_config'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/config.rb:42:in `method_missing'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/world.rb:28:in `initialize'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/rails/configuration.rb:78:in `new'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/rails/configuration.rb:78:in `initialize_world'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/rails.rb:104:in `init_world'
/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.2.1/lib/dynflow/rails.rb:37:in `initialize!'
/usr/share/foreman/config/application.rb:312:in `init_dynflow'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/railtie.rb:190:in `public_send'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/railtie.rb:190:in `method_missing'
/usr/share/foreman/config/application.rb:287:in `block in <class:Application>'
/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/lazy_load_hooks.rb:69:in `block in execute_hook'
/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/lazy_load_hooks.rb:62:in `with_execution_control'
/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/lazy_load_hooks.rb:67:in `execute_hook'
/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/lazy_load_hooks.rb:52:in `block in run_load_hooks'
/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/lazy_load_hooks.rb:51:in `each'
/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/lazy_load_hooks.rb:51:in `run_load_hooks'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/application/finisher.rb:75:in `block in <module:Finisher>'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/initializable.rb:32:in `instance_exec'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/initializable.rb:32:in `run'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/initializable.rb:61:in `block in run_initializers'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/initializable.rb:60:in `run_initializers'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/application.rb:361:in `initialize!'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/railtie.rb:190:in `public_send'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/railtie.rb:190:in `method_missing'
/usr/share/foreman/config/environment.rb:5:in `<top (required)>'
/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:287:in `require'
/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:287:in `block in require'
/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:253:in `load_dependency'
/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:287:in `require'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/application.rb:337:in `require_environment!'
/usr/share/foreman/vendor/ruby/2.3.0/gems/railties-5.2.1/lib/rails/application.rb:520:in `block in run_tasks_blocks'
Tasks: TOP => db:migrate => db:load_config => environment
Actions #1

Updated by Tomer Brisker about 5 years ago

Please try running
foreman-rake db:drop
foreman-rake db:create
foreman-rake db:migrate
foreman-rake db:seed

Actions #2

Updated by Stefan Eriksson about 5 years ago

Tomer Brisker wrote:

Please try running
foreman-rake db:drop
foreman-rake db:create
foreman-rake db:migrate
foreman-rake db:seed

I updated to ubuntu 18.04 and it worked without issue, I think mariadb 10.1 is to old fore foreman.

Actions #3

Updated by Tomer Brisker over 4 years ago

  • Status changed from New to Rejected

Support for MySQL is being dropped in Foreman 2.0. Please migrate to PostgreSQL - see https://theforeman.org/2019/09/dropping-support-for-mysql.html for more details.

Actions

Also available in: Atom PDF