@opsfolio/ontology
v1.1.1
Published
Opsfolio ontology and typed Drizzle schema
Readme
@opsfolio/ontology
Opsfolio ontology package containing typed Drizzle schema and migrations.
Install
npm install @opsfolio/ontology drizzle-orm better-sqlite3Includes
- Typed schema in
src/models.ts - Drizzle relations in
src/relations.ts - SQL views in
src/views.ts - Entry points in
src/index.ts - SQL migrations under
migrations/
Usage
Import schema from the package:
import * as schema from "@opsfolio/ontology";
// Example table handles:
schema.auditSession;
schema.contactType;
schema.message;
schema.communicationEmailView;You can also import subpaths:
import * as schema from "@opsfolio/ontology/models";
import * as relations from "@opsfolio/ontology/relations";
import * as views from "@opsfolio/ontology/views";Create a Drizzle client and run queries:
import Database from "better-sqlite3";
import { drizzle } from "drizzle-orm/better-sqlite3";
import * as schema from "@opsfolio/ontology";
const sqlite = new Database("app.db");
const db = drizzle(sqlite, { schema });
const sessions = await db.select().from(schema.auditSession).limit(10);Migrations are shipped in this package under migrations/ and can be applied by your app's migration runner.
Generate SQL migrations
This project uses drizzle-kit with config in drizzle.config.ts:
schema:src/models.ts,src/views.tsout:./migrations
After any schema change, generate migration SQL files with:
npm run migrate:generateOptional validation:
npm run migrate:check