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