tasks/db.rake in pact_broker-2.32.0 vs tasks/db.rake in pact_broker-2.33.0

- old
+ new

@@ -19,11 +19,10 @@ end task :env => ['bundler:setup'] do # Require RACK_ENV to be set for tasks that will be called in production raise "Please specify RACK_ENV" unless ENV['RACK_ENV'] - RACK_ENV = ENV['RACK_ENV'] require File.dirname(__FILE__) + '/database.rb' end task :create do Rake::Task["db:create:#{ENV.fetch('DATABASE_ADAPTER', 'default')}"].invoke @@ -95,14 +94,35 @@ task 'prepare_dir' => 'db:env' do PactBroker::Database.ensure_database_dir_exists end desc 'Annotate the Sequel domain classes with schema information' - task :annotate =>['db:set_postgres_database_adapter', 'db:migrate'] do - load 'tasks/database/annotate.rb' - require 'pact_broker/db' - PactBroker::DB.connection = PactBroker::Database.database - PactBroker::Annotate.call + task :annotate do + begin + ENV['RACK_ENV'] = 'test' + ENV['DATABASE_ADAPTER'] = 'docker_postgres' + load 'tasks/docker_database.rb' + DockerDatabase.stop_and_remove("postgres-for-annotate") + DockerDatabase.start(name: "postgres-for-annotate", port: "5433") + load 'tasks/database.rb' + PactBroker::Database.wait_for_database + PactBroker::Database.migrate + load 'tasks/database/annotate.rb' + require 'pact_broker/db' + PactBroker::Annotate.call + ensure + DockerDatabase.stop_and_remove("postgres-for-annotate") + end + end + + task 'docker:start' do + load 'tasks/docker_database.rb' + DockerDatabase.start(name: "postgres-for-pact-broker", port: "5433") + end + + task 'docker:stop' do + load 'tasks/docker_database.rb' + DockerDatabase.stop_and_remove("postgres-for-pact-broker") end # task :create => 'db:env' do # PactBroker::Database.create # end