28beb28a78
- Added listen gem because rails app:update failed without it - Removes nsa gem because it requires activesupport < 6 Oddly, there's a newer version per GitHub that's not on RubyGems that raises the requirement to < 7. But, we need a new release before we can use that. - Upgrade rails-i18n to v6, for Rails 6 compatibility - Remove redis-rails since it requires Rails < 6, but we can just use the regular Rails :redis_cache_store that was introduced in 5.2. - Run `rails app:update` - Had to weed through the `config/environments` changes to pick up newly added settings, while not losing settings that were intentionally configured - This generated config/initializers/new_framework_defaults_6_0.rb. The goal is to uncomment all of the settings in that file. Once they're all uncommented, delete the file and edit config/application.rb's load_defaults to be 6.0. - force_ssl controller method is deprecated in favor of a Rails config setting. - bin/setup was generated by Rails - Verbose query logging in development is really helpful. It shows you what line of code caused a query to execute. - Calling establish_connection after worker boot isn't necessary with ActiveRecord anymore. ActiveRecord handles it gracefully. - Rails generated a migration to add a foreign key for ActiveStorage. Gab currently doesn't use ActiveStorage, and instead uses Paperclip (since ActiveStorage didn't exist when Mastadon started). So, this change isn't relevant to Gab. - Added ` || ''` in the profiles controller, because I was unable to save a change to a newly created profile. (This probably explains the 500 error I received on prod Gab recently.)
37 lines
1.0 KiB
Ruby
Executable File
37 lines
1.0 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 setup 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')
|
|
|
|
# Install JavaScript dependencies
|
|
# 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 database =="
|
|
system! 'bin/rails db:prepare'
|
|
|
|
puts "\n== Removing old logs and tempfiles =="
|
|
system! 'bin/rails log:clear tmp:clear'
|
|
|
|
puts "\n== Restarting application server =="
|
|
system! 'bin/rails restart'
|
|
end
|