@remix-run/data-table-postgres
v0.1.0
Published
PostgreSQL adapter for @remix-run/data-table
Maintainers
Readme
data-table-postgres
PostgreSQL adapter for remix/data-table.
Use this package when you want data-table APIs backed by pg.
Features
- Native
pgIntegration: Works withPooland Postgres connection strings - Full
data-tableAPI Support: Queries, relations, writes, and transactions - Postgres Capabilities Enabled By Default:
returning: truesavepoints: trueupsert: true
Installation
npm i remix pgUsage
import { Pool } from 'pg'
import { createDatabase } from 'remix/data-table'
import { createPostgresDatabaseAdapter } from 'remix/data-table-postgres'
let pool = new Pool({
connectionString: process.env.DATABASE_URL,
})
let db = createDatabase(createPostgresDatabaseAdapter(pool))Use db.query(...), relation loading, and transactions from remix/data-table.
Adapter Capabilities
data-table-postgres reports this capability set by default:
returning: truesavepoints: trueupsert: true
Advanced Usage
Transaction Options
Transaction options are passed through to the adapter as hints.
await db.transaction(async (txDb) => txDb.exec('select 1'), {
isolationLevel: 'serializable',
readOnly: false,
})Capability Overrides For Testing
You can override capabilities to verify fallback paths in tests.
import { createPostgresDatabaseAdapter } from 'remix/data-table-postgres'
let adapter = createPostgresDatabaseAdapter(pool, {
capabilities: {
returning: false,
},
})Related Packages
data-table- Core query/relations APIdata-schema- Schema definitions and validationdata-table-mysql- MySQL adapterdata-table-sqlite- SQLite adapter
License
See LICENSE
