summaryrefslogtreecommitdiff
path: root/lib/tasks
diff options
context:
space:
mode:
authorDJ Mountney <david@twkie.net>2016-05-05 16:06:34 -0700
committerDJ Mountney <david@twkie.net>2016-05-25 10:44:22 -0700
commitc6e7d826b271a0fc51ed7eb7772c1820c720f1ff (patch)
treee1b77ed9e17a60a94a2dfa0e201eea451782711f /lib/tasks
parentc04f85a3338c415bde094a04d0d027bcd396dfdf (diff)
downloadgitlab-ce-c6e7d826b271a0fc51ed7eb7772c1820c720f1ff.tar.gz
Add a gitlab:db:configure rake task to handle conditionally seeding or migrating the database.
Diffstat (limited to 'lib/tasks')
-rw-r--r--lib/tasks/gitlab/db.rake11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/tasks/gitlab/db.rake b/lib/tasks/gitlab/db.rake
index e473b756023..a414e480575 100644
--- a/lib/tasks/gitlab/db.rake
+++ b/lib/tasks/gitlab/db.rake
@@ -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