Quickstart
import { DateTime } from 'luxon';
import { Column, Model, QModel, QRepository } from '@quik/database';
@Model()
export class User extends QModel {
@Column.PrimaryGenerated()
public id: number;
@Column.String({ length: 500 })
public name: string;
@Column.CreatedAt()
public createdAt: DateTime;
}
export class UserRepository extends QRepository<User> {
public constructor() {
super(User);
}
}
const repository = new UserRepository();
const user = await repository.create({ name: 'Ada' });
Notes
- Models must extend
QModel; repositories extendQRepository<TModel>. - Register repositories with
RepositoryStore.register(...)(or use@GetRepository(...)) so they can be resolved lazily elsewhere in the app. getModels()/getModelNames()list every registered@Model()/@BaseModel()class after their files have been imported — call them after module setup, not at import time.