Integrations — Overview
Integrations
Section titled “Integrations”Axel sits between standard PostgreSQL and your application. On the database
side, anything that speaks the Postgres wire protocol works — including managed
providers like Supabase and Neon.
On the application side, Axel generates a typed client for
TypeScript and Go from your
.aql queries. There’s no provider-specific adapter: you point Axel’s connection
string at the database and run the usual axel diff / axel up flow.
Connecting
Section titled “Connecting”Axel reads the connection string from, in order of precedence:
- the
--url/-uflag, - the
database-urlkey inaxel.yaml, - the
AXEL_DATABASE_URLenv var, thenDATABASE_URL.
Config values support $env.NAME references, so keep the secret out of the file:
schema-path: ./schema.aslmigrations-dir: ./migrationsdatabase-url: $env.DATABASE_URLexport DATABASE_URL='postgresql://user:pass@host:5432/dbname?sslmode=require'axel upRow-level security travels well
Section titled “Row-level security travels well”Both Supabase and Neon are ordinary Postgres, so Axel’s policies
lower to the same CREATE POLICY + ENABLE ROW LEVEL SECURITY everywhere.
Supabase in particular builds its client authorization on RLS — see the
append-only log and
multi-tenant ownership examples for patterns that map
directly onto it.