From 61d06973a47eb89685c77da9c57b745d130d6281 Mon Sep 17 00:00:00 2001 From: dswbx Date: Wed, 12 Feb 2025 07:29:56 +0100 Subject: [PATCH] ignore d1 system tables, deploy verified --- app/src/adapter/cloudflare/D1Connection.ts | 2 +- app/src/data/connection/SqliteIntrospector.ts | 22 ++++++++++--------- examples/cloudflare-worker/src/index.ts | 1 + examples/cloudflare-worker/wrangler.toml | 2 +- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/app/src/adapter/cloudflare/D1Connection.ts b/app/src/adapter/cloudflare/D1Connection.ts index 11e1a44..810cca8 100644 --- a/app/src/adapter/cloudflare/D1Connection.ts +++ b/app/src/adapter/cloudflare/D1Connection.ts @@ -12,7 +12,7 @@ export type D1ConnectionConfig = { class CustomD1Dialect extends D1Dialect { override createIntrospector(db: Kysely): DatabaseIntrospector { return new SqliteIntrospector(db, { - excludeTables: [""] + excludeTables: ["_cf_KV"] }); } } diff --git a/app/src/data/connection/SqliteIntrospector.ts b/app/src/data/connection/SqliteIntrospector.ts index cf68816..f86887e 100644 --- a/app/src/data/connection/SqliteIntrospector.ts +++ b/app/src/data/connection/SqliteIntrospector.ts @@ -5,7 +5,7 @@ import type { ExpressionBuilder, Kysely, SchemaMetadata, - TableMetadata, + TableMetadata } from "kysely"; import { DEFAULT_MIGRATION_LOCK_TABLE, DEFAULT_MIGRATION_TABLE, sql } from "kysely"; import type { ConnectionIntrospector, IndexMetadata } from "./Connection"; @@ -62,7 +62,7 @@ export class SqliteIntrospector implements DatabaseIntrospector, ConnectionIntro seqno: number; cid: number; name: string; - }>`pragma_index_info(${index})`.as("index_info"), + }>`pragma_index_info(${index})`.as("index_info") ) .select(["seqno", "cid", "name"]) .orderBy("cid") @@ -74,8 +74,8 @@ export class SqliteIntrospector implements DatabaseIntrospector, ConnectionIntro isUnique: isUnique, columns: columns.map((col) => ({ name: col.name, - order: col.seqno, - })), + order: col.seqno + })) }; } @@ -87,7 +87,7 @@ export class SqliteIntrospector implements DatabaseIntrospector, ConnectionIntro } async getTables( - options: DatabaseMetadataOptions = { withInternalKyselyTables: false }, + options: DatabaseMetadataOptions = { withInternalKyselyTables: false } ): Promise { let query = this.#db .selectFrom("sqlite_master") @@ -99,7 +99,7 @@ export class SqliteIntrospector implements DatabaseIntrospector, ConnectionIntro if (!options.withInternalKyselyTables) { query = query.where( - this.excludeTables([DEFAULT_MIGRATION_TABLE, DEFAULT_MIGRATION_LOCK_TABLE]), + this.excludeTables([DEFAULT_MIGRATION_TABLE, DEFAULT_MIGRATION_LOCK_TABLE]) ); } if (this._excludeTables.length > 0) { @@ -107,17 +107,19 @@ export class SqliteIntrospector implements DatabaseIntrospector, ConnectionIntro } const tables = await query.execute(); + console.log("tables", tables); return Promise.all(tables.map(({ name }) => this.#getTableMetadata(name))); } async getMetadata(options?: DatabaseMetadataOptions): Promise { return { - tables: await this.getTables(options), + tables: await this.getTables(options) }; } async #getTableMetadata(table: string): Promise { const db = this.#db; + console.log("get table metadata", table); // Get the SQL that was used to create the table. const tableDefinition = await db @@ -142,7 +144,7 @@ export class SqliteIntrospector implements DatabaseIntrospector, ConnectionIntro type: string; notnull: 0 | 1; dflt_value: any; - }>`pragma_table_info(${table})`.as("table_info"), + }>`pragma_table_info(${table})`.as("table_info") ) .select(["name", "type", "notnull", "dflt_value"]) .orderBy("cid") @@ -157,8 +159,8 @@ export class SqliteIntrospector implements DatabaseIntrospector, ConnectionIntro isNullable: !col.notnull, isAutoIncrementing: col.name === autoIncrementCol, hasDefaultValue: col.dflt_value != null, - comment: undefined, - })), + comment: undefined + })) }; } } diff --git a/examples/cloudflare-worker/src/index.ts b/examples/cloudflare-worker/src/index.ts index c2114d3..d349c50 100644 --- a/examples/cloudflare-worker/src/index.ts +++ b/examples/cloudflare-worker/src/index.ts @@ -3,6 +3,7 @@ import { serve } from "bknd/adapter/cloudflare"; export default serve({ + mode: "fresh", onBuilt: async (app) => { app.modules.server.get("/custom", (c) => c.json({ hello: "world" })); } diff --git a/examples/cloudflare-worker/wrangler.toml b/examples/cloudflare-worker/wrangler.toml index 993970a..1399d79 100644 --- a/examples/cloudflare-worker/wrangler.toml +++ b/examples/cloudflare-worker/wrangler.toml @@ -1,7 +1,7 @@ #:schema node_modules/wrangler/config-schema.json name = "bknd-cf-worker-example" main = "src/index.ts" -compatibility_date = "2024-11-06" +compatibility_date = "2025-02-04" compatibility_flags = ["nodejs_compat"] workers_dev = true minify = true