db/create_db.ts

Database initialization with driver auto-detection.

Selects the appropriate database driver based on database_url:

  • postgres:// or postgresql:// — uses pg (PostgreSQL)
  • file:// — uses @electric-sql/pglite (file-based)
  • memory:// — uses @fuzdev/pglet-wasm (in-memory)

pg, @electric-sql/pglite and @fuzdev/pglet-wasm are optional peer dependencies, dynamically imported only when needed. For direct driver construction without auto-detection, use db/db_pg.ts, db/db_pglite.ts or db/db_pglet.ts — an in-memory PGlite is create_pglite_db(new PGlite()).

view source

Declarations
#

2 declarations

create_db
#

db/create_db.ts view source

(database_url: string): Promise<CreateDbResult> import {create_db} from '@fuzdev/fuz_app/db/create_db.js';

Create a database connection based on a URL.

The close callback is bound to the actual driver — callers never need to know which driver is in use.

For direct driver construction without URL routing, import create_pg_db from db/db_pg.ts, create_pglite_db from db/db_pglite.ts or create_pglet_db_driver from db/db_pglet.ts.

database_url

connection URL (postgres://, postgresql://, file://, or memory://)

type string

returns

Promise<CreateDbResult>

database instance, close callback, type, and display name

throws

  • Error - if `database_url` uses an unsupported scheme. Driver construction (`pg.Pool`, `PGlite` or pglet) may also throw on bad connection parameters or missing peer-dependency packages.

CreateDbResult
#

db/create_db.ts view source

CreateDbResult import type {CreateDbResult} from '@fuzdev/fuz_app/db/create_db.js';

Result of database initialization.

db

type Db

close

Close the database connection. Bound to the actual driver at construction.

type (): Promise<void>

returns Promise<void>

db_type

type DbType

db_name

type string

Depends on
#

Imported by
#