High Leverage Rails
Introduction
Introduction to this course
Why use Ruby on Rails
Why use SQLite
Ruby on Rails + SQLite
Powering Your App with SQLite
Creating tables
Timestamps
Column types
Typeof
Ruby types
Creating table introduction
Creating table advanced
Inserting data
Updating data
Upserting data
Reading data
Virtual columns
Enums
Introduction to JSON
Indexing JSON
JSON table functions
Building a Modern Rails Application
Creating a new Rails application
Installing Solid Queue
Installing Solid Cache
Installing Solid Cable
Dockerfile
Application overview
Authentication
Base styles
Registration
Scaffolding posts
Polishing posts
Scaffolding comments
Polishing comments
Polishing models
Polishing controllers
Creating new post
Updating post
Reviewing MVP
Tagging posts
Custom tags
Friendly URLs
Full text search
Deploying & Operating Your App
Backups
Check Litestream locally
Verifying backups
Deployment options
Deploying with Hatchbox
Deployment constraints
Vertical scaling
Database access
Migrations
Locked video

Please purchase the course to watch this video.

Video thumbnail
Deploying & Operating Your App
Database access

Full Course

$
129
$179
USD, one-time fee
This course came at the perfect time. I’ve recently gotten back into Rails after an 18-year hiatus, and this was a perfect refresher and shows just how much you can accomplish with Rails right out of the box.
Garrett Winder
Garrett Winder

Move fast and fix things

Application monitoring that helps developers get it done.

Rails hosting made simple

Deploy apps to servers that you own and control.

Summary

Learn how to manage SQLite in production, where direct SSH access isn’t possible. Discover how restoring backups locally enhances data safety, prevents accidental deletions, and simplifies database operations compared to traditional systems like PostgreSQL.

Video Transcript

Another important constraint to consider when using SQLite as your database engine is that you need to approach working with your production database differently than you might be used to.

For many web developers, it's common to use tools like TablePlus to connect directly over SSH to a production database when needed. Unfortunately, SQLite is just a file on disk and not a separate running process, which means you cannot simply SSH into your server and access it like you would with PostgreSQL or MySQL.

The Key Differences in Working with SQLite in Production

This is a notable limitation and requires a shift in workflow, especially if you're used to remotely managing a production database.

However, there are some advantages to this constraint.

I’ve worked at companies where developers accidentally deleted the production database because they mistakenly had TablePlus open to production instead of staging. When using SQLite, you are forced to restore a backup copy of the production database to your local machine for inspection or debugging.

This backup-first approach acts as a built-in safety mechanism, ensuring that no accidental deletions occur directly in production.

Understanding the Trade-Offs

While this workflow adjustment may feel inconvenient at first, it ultimately improves data security by preventing dangerous mistakes like:

  • Running destructive queries on the wrong database
  • Accidentally modifying production data
  • Overwriting critical production records

That said, this limitation is worth understanding in advance if you choose to embrace the simplicity, speed, and operational efficiency of an SQLite-powered architecture.