Generate Typescript types from a live Postgres database.
This is for people who don't like ORM's but who do like intellisense and type checking for their database access code.
See the documentation here
Introduction to the idea is outlined here.
Install with:
$ npm i -D kanel
To run, make sure you are in a folder that has a .kanelrc.js
configuration file and that your database is running, and type:
$ npx kanel
Example of running generation from code:
import { processDatabase } from "kanel";
import config from "./kanelrc";
async function run() {
await processDatabase(config);
}
run();
To see an example of the result, check out the /example folder. It uses the Sample Database from www.postgresqltutorial.com.
If you want to learn about how I use this together with tRPC to create end-to-end type safety with PostgreSQL as the source of truth, check out my course on Newline:
Made with contrib.rocks.