diff options
author | DJ Mountney <david@twkie.net> | 2016-05-05 16:06:34 -0700 |
---|---|---|
committer | DJ Mountney <david@twkie.net> | 2016-05-25 10:44:22 -0700 |
commit | c6e7d826b271a0fc51ed7eb7772c1820c720f1ff (patch) | |
tree | e1b77ed9e17a60a94a2dfa0e201eea451782711f /lib | |
parent | c04f85a3338c415bde094a04d0d027bcd396dfdf (diff) | |
download | gitlab-ce-c6e7d826b271a0fc51ed7eb7772c1820c720f1ff.tar.gz |
Add a gitlab:db:configure rake task to handle conditionally seeding or migrating the database.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/tasks/gitlab/db.rake | 11 |
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 |