Add a gitlab:db:configure rake task to handle conditionally seeding or migrating the database.

This commit is contained in:
DJ Mountney 2016-05-05 16:06:34 -07:00
parent c04f85a333
commit c6e7d826b2
1 changed files with 11 additions and 0 deletions

View File

@ -36,5 +36,16 @@ namespace :gitlab do
# Add `IF EXISTS` because cascade could have already deleted a table.
tables.each { |t| connection.execute("DROP TABLE IF EXISTS #{t} CASCADE") }
end
desc 'Configures the database by running migrate, or by loading the schema and seeding if needed'
task :configure => :environment do
# Runs migrate if the schema has already been loaded, otherwise loads the schema and seeds
if ActiveRecord::Base.connection.table_exists? 'schema_migrations'
Rake::Task['db:migrate'].invoke
else
Rake::Task['db:schema:load'].invoke
Rake::Task['db:seed_fu'].invoke
end
end
end
end