BETYdb 4.21
Add Foreign-Key Constraints and Database Maintenance Scripts
Summary of Changes
This release includes a migration to add all missing foreign-key constraints and changes the update rule of several existing ones to ON UPDATE CASCADE
. It includes some Ruby scripts to detect and repair database problems. A few bug fixes are included and new features are added to the Bulk Upload Wizard.
New features
-
The Bulk Upload Wizard now supports putting the time of day into the date column and supports a method column (see issue #545).
-
Several scripts for diagnosing and fixing problems with BETYdb databases have been added. See the file
script/db_maintenance/README
for a summary.
Bug fixes
-
The migration in this release adds all missing foreign-key constraints.
-
The Covariate Show page has been cleaned up (see issue #280).
-
The Editing Format page has been fixed so that editing of related variables works properly (see issue #481).
-
reCaptcha VI Shutdown #588
This bug, which prevented new users from signing up, has been fixed.
Steps Needed for Upgrade
- Log in to the server.
- cd to the Rails root directory.
- Check that you are currently on the 4.20 release. You can do this by running
git describe --tags --exact-match
It should return betydb_4.20
. It's possible that you are on the correct version but somehow didn't pull
down the tag name. In that case, you should get
fatal: no tag exactly matches 'a763a495a2a9bb0a5ca3192b29d6e4e41832a03c'`.
To fix this problem, run git fetch
and then re-run git describe --tags --exact-match
.
If you are not on the correct version, upgrade to BETYdb 4.20 before doing this upgrade.
- Run
git pull
to get the latest version of the master branch. - Get the new recaptcha Gem with
bundle
- Run the migration in the new release with
bundle exec rake db:migrate RAILS_ENV=production
- Restart the Rails server with
touch tmp/restart.txt
Status of RSpec Tests
All non-pending tests pass when run in the default environment. (There is one pending test having to do with site-group editing permissions.)
Complete details for running the RSpec tests are at https://pecan.gitbooks.io/betydb-documentation/content/automated_tests.html.