Skip to content

Instantly share code, notes, and snippets.

@alexy4744
alexy4744 / closure-table.repository.ts
Last active February 27, 2024 08:19
MikroORM Closure Table Repository
import { Constructor } from "@mikro-orm/core";
import { EntityRepository, Knex } from "@mikro-orm/postgresql";
type Node = string;
export interface ClosureTableRepository<Entity> extends EntityRepository<Entity> {
containsDescendant(parent: Node, descendant: Node): Promise<boolean>;
findDescendants(parent: Node): Knex.QueryBuilder;
insertLeafNode(leaf: Node, parent: Node): Promise<void>;
insertRootNode(root: Node): Promise<void>;
@rphlmr
rphlmr / clear-db.ts
Last active April 30, 2024 14:41
Drizzle snippets
// Credits to Louistiti from Drizzle Discord: https://discord.com/channels/1043890932593987624/1130802621750448160/1143083373535973406
import { sql } from "drizzle-orm";
const clearDb = async (): Promise<void> => {
const query = sql<string>`SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'public'
AND table_type = 'BASE TABLE';
`;