Jsorm instance
createJsorm()
Section titled “createJsorm()”import { createJsorm } from "@jsorm/client";import { createSqliteNodeProvider } from "@jsorm/provider-sqlite-node";
const jsorm = createJsorm<DB>(config, models, { main: (ctx) => createSqliteNodeProvider(ctx.models, ctx.options),});Creates the typed instance with Proxy for table access. Auto-generated by jsorm gen.
| Param | Type | Description |
|---|---|---|
config |
ConfigAST |
Config from defineConfig() |
models |
readonly AnyModel[] |
Array of models |
providers |
Partial<ProviderManifest<TDatabases>> |
One key per declared database; wires each database to its provider |
Table access
Section titled “Table access”Main database
Section titled “Main database”jsorm.users.get()jsorm.users.create({ name: "Ana" })jsorm.users.update({ where: { id: "1" }, data: { name: "Ana" } })Non-main database (namespaced)
Section titled “Non-main database (namespaced)”jsorm.cache.sessions.get()jsorm.analytics.events.create({ name: "login" })jsorm.raw()
Section titled “jsorm.raw()”jsorm.raw(options: { db?: DatabaseName; sql: string; params?: unknown[] }): Promise<ProviderResult<unknown>>Executes raw SQL.
const result = await jsorm.raw({ sql: `SELECT avg(price) FROM products WHERE price > ?`, params: [100],});
// In a specific databaseconst result = await jsorm.raw({ db: "analytics", sql: `SELECT avg(price) FROM products WHERE price > ?`, params: [100],});jsorm.close()
Section titled “jsorm.close()”jsorm.close(db?: DatabaseName): voidCloses the database connection.
jsorm.close(); // closes mainjsorm.close("cache"); // closes cachejsorm.syncSchema()
Section titled “jsorm.syncSchema()”jsorm.syncSchema(db?: DatabaseName): ProviderResult<SchemaReport>Creates missing tables based on models.
const { data: report } = jsorm.syncSchema();console.log(report.created); // ["users", "posts", ...]console.log(report.existing); // [] if first timejsorm.getMissingTables()
Section titled “jsorm.getMissingTables()”jsorm.getMissingTables(db?: DatabaseName): ProviderResult<string[]>Returns tables that need to be created.
const { data: missing } = jsorm.getMissingTables();if (missing.length > 0) { console.log("Missing tables:", missing); jsorm.syncSchema();}jsorm.providers
Section titled “jsorm.providers”jsorm.providers: ProviderManagerProviderManager for manually registering providers.
