docbrown/bin/setup
Mac Siri a9cead5c91
Update bin/setup's db setup logic (#7644)
* Update bin/setup's db setup logic

* Remove duplicate seeds
2020-05-01 11:32:54 -04:00

47 lines
1.3 KiB
Ruby
Executable file

#!/usr/bin/env ruby
require "fileutils"
# path to your application root.
APP_ROOT = File.expand_path("..", __dir__)
def system!(*args)
system(*args) || abort("\n== Command #{args} failed ==")
end
FileUtils.chdir APP_ROOT do
# This script is a way to set up or update your development environment automatically.
# This script is idempotent, so that you can run it at anytime and get an expectable outcome.
# Add necessary setup steps to this file.
puts "== Installing dependencies =="
system! "gem install bundler --conservative"
system("bundle check") || system!("bundle install")
system! "gem install foreman"
# Install JavaScript dependencies if using Yarn
system("bin/yarn")
puts "\n== Copying sample files =="
unless File.exist?("config/database.yml")
FileUtils.cp "config/database.yml.sample", "config/database.yml"
end
puts "\n== Preparing Elasticsearch =="
system! "bin/rails search:setup"
system! 'RAILS_ENV="test" bin/rails search:setup'
puts "\n== Preparing database =="
unless system("bin/rails db:migrate")
system! "bin/rails db:setup"
end
puts "\n== Updating Data =="
system! "bin/rails data_updates:run"
puts "\n== Removing old logs and tempfiles =="
system! "bin/rails log:clear tmp:clear"
puts "\n== Restarting application server =="
system! "bin/rails restart"
end