Skip to content

Instantly share code, notes, and snippets.

@shuymn
Created September 3, 2023 06:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shuymn/0b46da1cf8aed79be197d7f46fff37cd to your computer and use it in GitHub Desktop.
Save shuymn/0b46da1cf8aed79be197d7f46fff37cd to your computer and use it in GitHub Desktop.
import { Miniflare } from 'miniflare'
const mf = new Miniflare({
modules: true,
script: 'addEventListener("fetch", (event) => event.respondWith(new Response(null, { status: 404 })));',
d1Databases: ['DEBUG'],
})
const QUERY = `
CREATE TABLE debug (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL GENERATED ALWAYS AS (JSON_EXTRACT("properties", "$.name")) STORED,
properties TEXT NOT NULL
);
`
const db = await mf.getD1Database('DEBUG')
await db.prepare(QUERY).run()
// console.log(await db.prepare('SELECT * FROM sqlite_master').all())
await mf.dispose()
@shuymn
Copy link
Author

shuymn commented Sep 3, 2023

node:internal/process/task_queues:95
    runMicrotasks();
    ^

Error: D1_ERROR: SqliteError: no such column: $.name
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async file:///Users/shuymn/Works/shuymn.me/example.mjs:18:1 {
  [cause]: Error: SqliteError: no such column: $.name
      at D1Database._sendOrThrow (cloudflare-internal:d1-api:67:24)
      at async D1PreparedStatement.run (cloudflare-internal:d1-api:172:29)
      at async #fetch (entry.worker.js:813:18)
      at async ProxyServer.fetch (entry.worker.js:725:14) {
    [cause]: undefined
  }
}

Node.js v18.17.1

@shuymn
Copy link
Author

shuymn commented Sep 3, 2023

"miniflare": "3.20230821.0",

@shuymn
Copy link
Author

shuymn commented Sep 3, 2023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment