以前用過 laravel,那個 migration 真的太舒適了,於是我開始找 node 後端有沒有類似的方案
本來在看 Knex,什麼??不支援 cloudflare?
繼續看 Drizzle,想說就決定是他了,可是又想......等等我真的需要這玩意嗎?
然後一查 cloudflare worker 根本就有自己的 migrations 命令,想說就先簡單試試看好了
建立使用者資料表
npx wrangler d1 migrations create my-db create_admin_users
先不要高興的太早,它裡面完全空的,所以我們還是得自己產生 SQL 指令,沒有 laravel 那麼香
CREATE TABLE admin_user (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username VARCHAR(16) NOT NULL DEFAULT '',
password VARCHAR(128) NOT NULL DEFAULT '',
email_address VARCHAR(128) NOT NULL DEFAULT '',
description VARCHAR(512) NOT NULL DEFAULT '',
enable TEXT NOT NULL DEFAULT 'Y'
CHECK(enable IN ('Y', 'N')),
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME NULL,
delete_time DATETIME NULL
);
然後我們把資料表建進本地
npx wrangler d1 migrations apply my-db --local
接著怎麼看這個 d1 裡面到底有幾張表呢?雖然底層是 sqlite,但如果你要使用相關命令去查表是不行的,得用 cloudflare 包好的
npx wrangler d1 execute my-db --command='PRAGMA table_list'
就可以看到資料表格囉,裡面還包含一些內建的,請不要亂搞他們喔
想看裡面的結構怎麼下
npx wrangler d1 execute my-db --command='PRAGMA table_info("admin_user")'
指令都在
https://developers.cloudflare.com/d1/sql-api/sql-statements/#_top
可以自己查
今天的情緒抒發:
cloudflare 怎麼比我想的還要香阿,可惡!!!我文章要不要改成叫做 cloudflare 介紹好了