Module

x/pg_mem/interfaces.ts>ISchema

An in memory postgres DB instance for your unit tests
Latest
interface ISchema
import { type ISchema } from "https://dotland.deno.dev/x/pg_mem@3.0.3/interfaces.ts";

Methods

declareTable(table: Schema): IMemoryTable<any>

Another way to create tables (equivalent to "create table" queries")

many(query: QueryOrAst): any[]

Execute a query and return many results

none(query: QueryOrAst): void

Execute a query without results

one(query: QueryOrAst): any

Execute a query with a single result

query(text: QueryOrAst): QueryResult

Execute a query that has no argument, and returns the latest query result (shortcut for .prepare(cmd).bind().executeAll())

queries(text: QueryOrAst): Iterable<QueryResult>

Progressively executes a query that has no argument, yielding results until the end of enumeration (or an exception) (shortcut for .prepare(cmd).bind().iterate())

prepare(text: QueryOrAst): IPreparedQuery

Prepare a query

getTable(table: string): IMemoryTable<unknown>

Get a table in this db to inspect it

getTable(table: string, nullIfNotFound?: boolean): IMemoryTable<unknown> | null
listTables(): Iterable<IMemoryTable<unknown>>

List all tables in this schema

registerFunction(fn: FunctionDefinition, orReplace?: boolean): this

Register a function

registerOperator(fn: OperatorDefinition): this

Register a binary operator

registerEquivalentType(type: IEquivalentType): IType

Register a simple type, which is equivalent to another

registerEquivalentSizableType(type: IEquivalentType): IType

Register a simple type, which is equivalent to another

getType(name: DataType): IType

Get an existing type

registerEnum(name: string, values: string[]): void

Registers an enum type on this schema

migrate(config?: MigrationParams): Promise<void>

Database migration, node-sqlite flavor ⚠ Only working when runnin nodejs !

interceptQueries(interceptor: QueryInterceptor): ISubscription

Intecept queries. If your interceptor returns an array, then the query will not be executed. The given result will be returned instead.