Database as a Versioned Contract: Series Contents

The schema is a published interface, so it helps to treat it like one.

A woman engineer plugs a glowing connector into the newest of a row of sockets while older cables stay connected to the earlier sockets.

This eight-part series covers versioning and deprecating the schema, ORM-generated SQL, CI/CD for database deployments, testing database code with tSQLt, idempotent retries, the transactional outbox, temporal tables and CDC, and multi-tenant isolation with Row-Level Security. It follows the Where Does Business Logic Live? series.

  1. Your Database Is an API: Treating the Schema as a Versioned Contract
  2. Reads Are Part of the Contract: A DBA’s Guide to ORM-Generated SQL
  3. Putting the Contract Under CI/CD: Database Deployments You Can Trust
  4. Proving the Contract Holds: Testing Database Code
  5. Idempotency Is a Contract: Making Retries Safe from the Database Side
  6. The Transactional Outbox: Reliable Messaging Without Distributed Transactions
  7. What Changed, When, and by Whom: Temporal Tables and CDC
  8. Isolation Is a Contract: Multi-Tenant Data Boundaries

Questions or corrections are welcome on Bluesky or LinkedIn. See all series on this blog.