✨
Eloquent-inspired API
If you know Laravel's Eloquent, you already know Orion. Same fluent API, same conventions — in TypeScript.
Eloquent-inspired. Five database drivers. Built from scratch.
npm install @wrsouza/orion pg// src/database.ts
import { createConnection } from '@wrsouza/orion';
export default createConnection({
connection: process.env.DATABASE_URL ?? {
driver: 'postgres',
host: process.env.DB_HOST ?? 'localhost',
database: process.env.DB_NAME ?? 'myapp',
user: process.env.DB_USER ?? 'postgres',
password: process.env.DB_PASS ?? '',
},
migrations: { path: './src/database/migrations' },
preventLazyLoading: process.env.NODE_ENV !== 'production',
});// src/database/models/User.ts
import { Model, table, map } from '@wrsouza/orion';
@table('users')
export class User extends Model {
declare id: number;
declare name: string;
declare email: string;
@map('is_active')
declare isActive: boolean;
@map('born_at')
declare bornAt: Date;
}// Query
const users = await User.where('is_active', true).orderBy('name').paginate(15);
const alice = await User.create({ name: 'Alice', email: 'alice@example.com' });
const page = await User.with('posts').paginate(20);