pnpm create cloudflare@latest [專案名稱] --framework=nuxt
創建 D1 資料庫
npx wrangler d1 create [資料庫名稱]
將輸出的資料貼入 wrangler.toml
安裝 prisma 依賴, d1 驅動
pnpm install prisma --save-dev
pnpm install @prisma/adapter-d1 @prisma/client
安裝完成後先執行一次項目
pnpm dev
修改 prisma/schema.prisma
generator client {
provider = "prisma-client-js"
[+] previewFeatures = ["driverAdapters"]
}
修改 nuxt.config.ts
新增啟用 wasm 配置 esbuild
nitro: {
preset: 'cloudflare-pages',
[+] experimental: {
[+] wasm: true,
[+] },
[+] esbuild: {
[+] options: {
[+] target: 'esnext',
[+] },
[+] },
}
nitro: {
preset: 'cloudflare-pages',
experimental: {
wasm: true,
},
esbuild: {
options: {
target: 'esnext',
},
},
}
建立 D1 migrations
npx wrangler d1 migrations create [資料庫名稱] [migrations 標籤]
npx prisma migrate diff \
--from-empty \
--to-schema-datamodel ./prisma/schema.prisma \
--script \
--output migrations/0001_create_user_table.sql
npx prisma migrate diff \
--from-local-d1 \
--to-schema-datamodel ./prisma/schema.prisma \
--script \
--output migrations/0002_create_post_table.sql
本地專案執行
npx wrangler d1 migrations apply [資料庫名稱] --local
遠程專案執行
npx wrangler d1 migrations apply [資料庫名稱] --remote
npx wrangler d1 migrations create d1-database []
# 0001
npx prisma migrate diff --from-empty --to-schema-datamodel ./prisma/schema.prisma --script --output [path]
# 0002 ~
npx prisma migrate diff --from-local-d1 --to-schema-datamodel ./prisma/schema.prisma --script --output [path]
# 本地專案執行
npx wrangler d1 migrations apply d1-database --local
# 遠程專案執行
npx wrangler d1 migrations apply d1-database --remote
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing