⌁
◇
✓
One change, end to end
Follow it from SQL to production.
Pick Targets
hr_testTest Sample Instance · Test
hr_prodProd Sample Instance · Prod
The Change
SQL Review Policy
Require primary keyErrorWarning
Enforce setting default value on columnsErrorWarning
No foreign keys
Disallow SELECT *
+ 50 more predefined rules for Postgres
Built-in rules per engine. Warning advises · Error blocks.
Approval Flow MANUAL
Matching approval rules…
AlexProject Owner
○ waiting…
DanaWorkspace Admin
○ waiting…
Custom Approval
if statement.sql_type = DDL and environment = Prod
→ ① Project Owner ② Workspace Admin
→ ① Project Owner ② Workspace Admin
+ add condition
statement.affected_rows
resource.project_id
+ 10 more, or raw CEL…
Policy decides before the change arrives.
Rollout
Test
automatic
Prod
waits for a human
Run ▾
Rollout Policy
Test automatic — checks pass, it ships
Prod manual — a named role presses Run
Fast in Test. Controlled in Prod.
hr_prod · Changelog
3 min ago add email column
View change →
2 days ago index on name
8 days ago create table
add email column
3 min ago
Before
id bigint PRIMARY KEY
name text NOT NULL
→
After
id bigint PRIMARY KEY
name text NOT NULL
+ email text NOT NULL
View original plan →
Audit — The Whole Story, As Rows
10:02devcreated the plan
10:04devupdated the plan — new statement
10:06alex+ dana approved
10:08releaserrolled out Prod — Test was automatic