`rake dev:setup` is broken due to the latest update of seed-fu
After upgrading seed-fu
to the latest 2.3.7
version, the data seeding is broken with the following error:
NoMethodError: protected method `postgresql_version' called for #<ActiveRecord::ConnectionAdapters::PostgreSQLAdapter:0x00007fa82da213e0>
/Users/remy/.gem/ruby/2.3.5/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:46:in `eval'
/Users/remy/.gem/ruby/2.3.5/gems/seed-fu-2.3.7/lib/seed-fu/seeder.rb:38:in `seed'
/Users/remy/.gem/ruby/2.3.5/gems/seed-fu-2.3.7/lib/seed-fu/active_record_extension.rb:32:in `seed'
(eval):4:in `block (3 levels) in run_file'
/Users/remy/Code/GitLab/gdk-ee/gitlab/lib/gitlab/seeder.rb:14:in `quiet'
(eval):3:in `block (2 levels) in run_file'
/Users/remy/.gem/ruby/2.3.5/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:46:in `eval'
/Users/remy/.gem/ruby/2.3.5/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:46:in `block (2 levels) in run_file'
/Users/remy/.gem/ruby/2.3.5/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:58:in `block in open'
/Users/remy/.gem/ruby/2.3.5/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:57:in `open'
/Users/remy/.gem/ruby/2.3.5/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:57:in `open'
/Users/remy/.gem/ruby/2.3.5/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:36:in `block in run_file'
/Users/remy/.gem/ruby/2.3.5/gems/activerecord-4.2.8/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `block in transaction'
/Users/remy/.gem/ruby/2.3.5/gems/activerecord-4.2.8/lib/active_record/connection_adapters/abstract/transaction.rb:184:in `within_new_transaction'
/Users/remy/.gem/ruby/2.3.5/gems/activerecord-4.2.8/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `transaction'
/Users/remy/.gem/ruby/2.3.5/gems/activerecord-4.2.8/lib/active_record/transactions.rb:220:in `transaction'
/Users/remy/.gem/ruby/2.3.5/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:35:in `run_file'
/Users/remy/.gem/ruby/2.3.5/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:26:in `block in run'
/Users/remy/.gem/ruby/2.3.5/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:25:in `each'
/Users/remy/.gem/ruby/2.3.5/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:25:in `run'
/Users/remy/.gem/ruby/2.3.5/gems/seed-fu-2.3.7/lib/seed-fu.rb:29:in `seed'
/Users/remy/.gem/ruby/2.3.5/gems/seed-fu-2.3.7/lib/tasks/seed_fu.rake:36:in `block (2 levels) in <top (required)>'
/Users/remy/Code/GitLab/gdk-ee/gitlab/lib/tasks/gitlab/setup.rake:20:in `setup_db'
/Users/remy/Code/GitLab/gdk-ee/gitlab/lib/tasks/gitlab/setup.rake:4:in `block (2 levels) in <top (required)>'
/Users/remy/Code/GitLab/gdk-ee/gitlab/lib/tasks/dev.rake:7:in `block (2 levels) in <top (required)>'
/Users/remy/.gem/ruby/2.3.5/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:268:in `load'
/Users/remy/.gem/ruby/2.3.5/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:268:in `block in load'
/Users/remy/.gem/ruby/2.3.5/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:240:in `load_dependency'
/Users/remy/.gem/ruby/2.3.5/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:268:in `load'
The CI didn't catch this because in the test
environment, we actually don't have any seeds in CE: https://gitlab.com/gitlab-org/gitlab-ce/tree/master/db/fixtures (https://gitlab.com/gitlab-org/gitlab-ce/-/jobs/42530778) and in EE, we're actually not using seed-fu
in the only seed file we have: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/db/fixtures/test/01_plan.rb (https://gitlab.com/gitlab-org/gitlab-ee/-/jobs/42510987)...
I will revert the update for now since we don't officially support PG 10 anyway, and the 2.3.7
version was only adding (broken) support for this version (https://github.com/mbleigh/seed-fu/pull/121).
The issue is already reported upstream: https://github.com/mbleigh/seed-fu/issues/123
/cc @tnir @jivanvl @dbalexandre @bkc @fatihacet @mayra-cabrera @blackst0ne