- main:
- set the site in read-only mode (config/application.rb on prod)
- link to this gist from app/views/layouts/application.html.erb
- lobsters-deploy
- take mariadb backup to pushcx's desktop
- scp lib/tasks/migrate.rake l:lobsters/current/lib/tasks
- be rails dump_db
- scp db to my local dev
- disable screensharing a sec
- edit prod config/database.yml: primary: # <<: *trilogy # database: lobsters <<: *sqlite3 database: db/primary.sqlite3
- scp db/development/primary.sqlite3 l:lobsters/shared/storage/
- be rails load_db
- jj edit pmynxpks; jj bookmark set main; jj up
- lobsters-deploy
-
if prod doesn't immediately melt down, rm read-only mode, notice, and trilogy gem -
take a sqlite backup to local dev -
run the backup script -
confirm the backup worked -
tomorrow 2026-02-22: confirm the automated backup script ran
- revert the merge commit
- stop puma
- revert DATABASE_URL
- revert prod config/database.yml
- lobsters-deploy
- restart puma
- restart bg jobs
- remove the layout note, read-only mode
- lobsters-deploy
- prod: mv storage/primary.sqlite3 ~
Lobsters(prod)> ActiveRecord::Base.connection.execute("PRAGMA foreign_keys") => [{"foreign_keys" => 1}] Lobsters(prod)> ActiveRecord::Base.connection.execute("PRAGMA journal_mode") => [{"journal_mode" => "wal"}] Lobsters(prod)> ActiveRecord::Base.connection.execute("PRAGMA synchronous") => [{"synchronous" => 1}] Lobsters(prod)> ActiveRecord::Base.connection.execute("PRAGMA mmap_size") => [{"mmap_size" => 134217728}] Lobsters(prod)> ActiveRecord::Base.connection.execute("PRAGMA journal_size_limit") => [{"journal_size_limit" => 67108864}] Lobsters(prod)> ActiveRecord::Base.connection.execute("PRAGMA cache_size") => [{"cache_size" => 2000}]
DATABASE_URL sqlite3:///home/deploy/lobsters/current/storage/primary.sqlite3


History being re-written (to SQLite)