@woltage/store-postgres
v1.0.1
Published
PostgreSQL adapter for Woltage
Downloads
5
Readme
Woltage adapter - PostgreSQL
A PostgreSQL store adapter for Woltage that uses pg under the hood.
Usage
import createWoltage from 'woltage';
import PostgreSQLStore from '@woltage/store-postgres';
const woltage = await createWoltage({
stores: {
postgres: {
adapter: PostgreSQLStore,
args: [
{
user: 'user',
password: 'p4ssw0rd',
host: 'postgres.example.com',
port: 5432,
database: 'db'
},
{
createTables: false
}
]
}
},
// ...
});The first argument to pass to the adapter is a node-postgres config.
As second argument you may pass an adapter config:
Property | Type | Description
:--- | :--- | :---
createTables | boolean | If true, tables will be automatically created on startup if they do not exist yet. Pass false if you want to handle the creation of tables yourself.Default: true
When you define the schema for the table, you may add the dataType property to the meta data of a field. This way you can - for example - use varchar for a string type instead of text (which is the default):
{
key: z.object({
// VARCHAR(36)
id: z.uuid().meta({dataType: 'varchar(36)'})
}),
schema: z.object({
// UUID
foreignId: z.uuid(),
// VARCHAR(254)
email: z.email().meta({dataType: 'varchar(254)'}),
// VARCHAR(128)
shortDescription: z.string().meta({dataType: 'varchar(128)'}),
// TEXT
description: z.string().optional()
})
}