Class PostgresStoreAbstract

PostgreSQL datastore abstraction which can be inherited by a specialised bridge class.

Example

class MyBridgeStore extends PostgresStore {
constructor(myurl) {
super([schemav1, schemav2, schemav3], { url: myurl });
}

async getData() {
return this.sql`SELECT * FROM mytable`
}
}

// Which can then be used by doing
const store = new MyBridgeStore("postgresql://postgres_user:postgres_password@postgres");
store.ensureSchema();
const data = await store.getData();

Constructors

  • Construct a new store.

    Parameters

    • schemas: SchemaUpdateFunction[]

      The set of schema functions to apply to a database. The ordering of this array determines the schema number.

    • opts: PostgresStoreOpts

      Options to supply to the PostgreSQL client, such as url.

    Returns PostgresStore

Properties

sql: Sql<{}>

Type declaration

    Accessors

    • get latestSchema(): number
    • Returns number

    Methods

    • Clean away any resources used by the database. This is automatically called before the process exits.

      Returns Promise<void>

    • Ensure the database schema is up to date. If you supplied autocreateSchemaTable to opts in the constructor, a fresh database will have a schema table created for it.

      Returns Promise<void>

      Throws

      If a schema could not be applied cleanly.

    • Get the current schema version.

      Returns Promise<number>

      The current schema version, or -1 if no schema table is found.

    • Update the current schema version.

      Parameters

      • version: number

      Returns Promise<void>

    Generated using TypeDoc