a54af831ba
Using db:reset ensures existing tables are first dropped. This in turn ensures that we can drop tables regardless of any foreign key constraints. While CE currently doesn't have any foreign keys EE defines the following relation: remote_mirrors.project_id -> projects.id MySQL will complain whenever you try to drop the "projects" table first even when using "DROP TABLE ... CASCADE".
25 lines
634 B
Ruby
25 lines
634 B
Ruby
namespace :gitlab do
|
|
desc "GitLab | Setup production application"
|
|
task setup: :environment do
|
|
setup_db
|
|
end
|
|
|
|
def setup_db
|
|
warn_user_is_not_gitlab
|
|
|
|
unless ENV['force'] == 'yes'
|
|
puts "This will create the necessary database tables and seed the database."
|
|
puts "You will lose any previous data stored in the database."
|
|
ask_to_continue
|
|
puts ""
|
|
end
|
|
|
|
Rake::Task["db:reset"].invoke
|
|
Rake::Task["add_limits_mysql"].invoke
|
|
Rake::Task["setup_postgresql"].invoke
|
|
Rake::Task["db:seed_fu"].invoke
|
|
rescue Gitlab::TaskAbortedByUserError
|
|
puts "Quitting...".red
|
|
exit 1
|
|
end
|
|
end
|