You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.8 KiB
2.8 KiB
Upgrading rails
Guides
- Get a diff between two different versions of rails - https://railsdiff.org/5.1.7/5.2.6
- Official transition guide provided by rails - https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-5-1-to-rails-5-2
Rails Upgrade
- change rails version number to 5.2
- delete Gemfile.lock
bundle install- fix broken tests.
- An SQL query asking for an average was returning a nil. Check for nil in percent_for method
- fix deprecation warnings
- change rails version number to 6.0.4.1
- fix broken tests
- change method name update_attributes to update
- template error. Change syntax for render method
- fix deprecation warnings
- fix broken tests
- run rails migration - Creates new tables for ActiveStorage data
bundle exec rake db:migrate
- Attempt to generate credentials file for each environment
- The syntax to generate this did not work
- Run the rake update task.
bin/rails app:update
- Update rails to 6.1 on the theory the syntax might have been added in a later version
- fix broken tests
- fix deprecation warnings
- Update system software on my machine
- Generate credentials file for each environment
- modify heroku mciea-beta app settings
- change RAILS_ENV=production to RAILS_ENV=staging
Javascript testing
- add esbuild gem 'jsbundling-rails'. Unified installer for webpacker rollup and esbuild
bin/bundle installbin/rails javascript:install:esbuild
- clear the tmp directory to make sure asset compilation with esbuild does not complain about missing file templates
- bundle exec rake tmp:clear
- move javascript files to new location
- app/assets/javascript => app/javascript
- I deleted the channels directory from app/assets/javascript but that caused problems with sprockets which expects the directory to exist even if it's empty. Added the directory back, but git does not recognize empty directory as a change. I added a .keep file in the channels directory so I could create a new git commit.
- sprockets continues to bundle our scss files and images
- add missing dependencies to package.json.
- turbolinks
- actioncable
- activestorage
- ujs
- I did not wire up Action Cable
yarn install- Modify javascript files to implement exports
- import those files into application.js
- Default jest environment does not allow for DOM interactions. Change default test environment to jsdom
- yarn jest --env=jsdom
- install node on heroku
- heroku buildpacks:set heroku/ruby
- heroku buildpacks:add --index 1 heroku/nodejs
- Fix dependabot alerts
- upgrade puma
- upgrade nokogiri
- Update README
- Generate binstubs for rspec
Summary
bundle installbundle exec rake db:migrateyarn install- Optional: if you encounter problems
bundle exec rake tmp:clear yarn testyarn build --watchbin/rails s