Skip to content

Commit bf53adb

Browse files
committed
fix(builder): fix missing exports and rename functions
1 parent 300bebe commit bf53adb

File tree

5 files changed

+34
-18
lines changed

5 files changed

+34
-18
lines changed

packages/sqlite-builder/src/builder.ts

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,28 @@ export class SqliteBuilder<DB extends Record<string, any>> {
7575
}
7676

7777
/**
78-
* update the db tables
79-
* @param syncFn sync table, built-in: {@link createSyncTableFn}, {@link createMigrateFn}
78+
* sync db schema
79+
* @param syncFn sync table, built-in: {@link createAutoSyncSchemaFn}, {@link createMigrateFn}
8080
* @param checkIntegrity whether to check integrity
81+
* @example
82+
* const testTable = defineTable({
83+
* id: { type: 'increments' },
84+
* person: { type: 'object', defaultTo: { name: 'test' } },
85+
* gender: { type: 'boolean', notNull: true },
86+
* array: defineObject<string[]>().NotNull(),
87+
* literal: defineLiteral<'l1' | 'l2'>('l1'),
88+
* buffer: { type: 'blob' },
89+
* }, {
90+
* primary: 'id',
91+
* index: ['person', ['id', 'gender']],
92+
* timeTrigger: { create: true, update: true },
93+
* })
94+
* await db.syncSchema(createAutoSyncSchemaFn(
95+
* { test: testTable },
96+
* { log: false }
97+
* ))
8198
*/
82-
public async updateTables(
99+
public async syncSchema(
83100
syncFn: SyncTableFn,
84101
checkIntegrity?: boolean,
85102
): Promise<StatusResult> {

packages/sqlite-builder/src/sync/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import type { SyncOptions } from './core'
55
import { syncTables } from './core'
66

77
export * from './types'
8-
export { defineTable } from './define'
8+
export { defineTable, defineLiteral, defineObject } from './define'
99

10-
export function createAutoSyncTableFn<T extends Schema>(
10+
export function createAutoSyncSchemaFn<T extends Schema>(
1111
tables: T,
1212
options: SyncOptions<T> = {},
1313
): SyncTableFn {

test/builder.test.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
import { SqliteDialect } from 'kysely'
22
import Database from 'better-sqlite3'
33
import { beforeEach, describe, expect, test } from 'vitest'
4-
import type { InferDatabase } from '../packages/sqlite-builder/src'
5-
import { SqliteBuilder, createAutoSyncTableFn, defineTable } from '../packages/sqlite-builder/src'
6-
import { defineLiteral, defineObject } from '../packages/sqlite-builder/src/sync/define'
4+
import type { InferDatabase } from '../packages/sqlite-builder'
5+
import { SqliteBuilder, createAutoSyncSchemaFn, defineLiteral, defineObject, defineTable } from '../packages/sqlite-builder'
76

87
const testTable = defineTable({
98
id: { type: 'increments' },
@@ -17,6 +16,7 @@ const testTable = defineTable({
1716
index: ['person', ['id', 'gender']],
1817
timeTrigger: { create: true, update: true },
1918
})
19+
2020
const baseTables = {
2121
test: testTable,
2222
}
@@ -34,16 +34,16 @@ function getDatabase(debug = false) {
3434
describe('test auto sync table', async () => {
3535
let db: SqliteBuilder<any>
3636
beforeEach(async () => {
37-
db = getDatabase(true)
38-
await db.updateTables(createAutoSyncTableFn(baseTables, { log: false }))
37+
db = getDatabase()
38+
await db.syncSchema(createAutoSyncSchemaFn(baseTables, { log: false }))
3939
})
4040
test('should create new table', async () => {
4141
const foo = defineTable({
4242
col1: { type: 'increments' },
4343
col2: { type: 'string' },
4444
})
4545

46-
await db.updateTables(createAutoSyncTableFn({
46+
await db.syncSchema(createAutoSyncSchemaFn({
4747
...baseTables,
4848
foo,
4949
}, { log: false }))
@@ -54,7 +54,7 @@ describe('test auto sync table', async () => {
5454
expect(_tables[1].name).toBe('test')
5555
})
5656
test('should drop old table', async () => {
57-
await db.updateTables(createAutoSyncTableFn({ }, { log: false }))
57+
await db.syncSchema(createAutoSyncSchemaFn({ }, { log: false }))
5858

5959
const _tables = await db.kysely.introspection.getTables()
6060
expect(_tables.length).toBe(0)
@@ -73,7 +73,7 @@ describe('test auto sync table', async () => {
7373
timeTrigger: { create: true, update: true },
7474
},
7575
)
76-
await db.updateTables(createAutoSyncTableFn({ test: foo }, { log: true }))
76+
await db.syncSchema(createAutoSyncSchemaFn({ test: foo }, { log: false }))
7777
const [_tables] = await db.kysely.introspection.getTables()
7878
expect(_tables
7979
.columns
@@ -94,7 +94,7 @@ describe('test auto sync table', async () => {
9494
})
9595
describe('test builder', async () => {
9696
const db = getDatabase()
97-
await db.updateTables(createAutoSyncTableFn(baseTables))
97+
await db.syncSchema(createAutoSyncSchemaFn(baseTables))
9898
test('should insert', async () => {
9999
// auto generate table
100100
console.log(await db.transaction((trx) => {

test/dialect-wasm.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { afterAll, describe, expect, test } from 'vitest'
22
import type { Dialect, Generated } from 'kysely'
33
import InitSqlJs from 'sql.js'
44
import { Kysely } from 'kysely'
5-
import { SqlJsDialect } from '../packages/dialect-wasm/src'
5+
import { SqlJsDialect } from '../packages/dialect-wasm'
66

77
interface DB {
88
test: TestTable

test/plugin-serialize.test.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
import { describe, expect, test } from 'vitest'
22
import Database from 'better-sqlite3'
3-
import type { Generated } from 'kysely/dist/cjs/util/column-type'
4-
import type { KyselyPlugin } from 'kysely'
3+
import type { Generated, KyselyPlugin } from 'kysely'
54
import { Kysely, SqliteDialect } from 'kysely'
6-
import { SqliteSerializePlugin } from '../packages/plugin-serialize/src'
5+
import { SqliteSerializePlugin } from '../packages/plugin-serialize'
76

87
interface DB {
98
test: TestTable

0 commit comments

Comments
 (0)