File tree Expand file tree Collapse file tree 1 file changed +68
-0
lines changed
Expand file tree Collapse file tree 1 file changed +68
-0
lines changed Original file line number Diff line number Diff line change 1+ ---
2+ title : drizzle-seed を使って DB のデータをリセットする
3+ tags :
4+ - TypeScript
5+ - Drizzle
6+ - drizzle-seed
7+ private : false
8+ updated_at : ' 2025-07-30T00:00:20+09:00'
9+ id : 3b9c3d34a99f6728e086
10+ organization_url_name : foundingbase
11+ slide : false
12+ ignorePublish : false
13+ ---
14+
15+ ## はじめに
16+
17+ [ Drizzle ORM] ( https://orm.drizzle.team/ ) を使っている Project で DB のデータをリセットしたかった。
18+ drizzle-seed の reset を使って reset する script を用意したのでメモ
19+ なお、 Drizzle のセットアップ等は割愛する。
20+
21+ ## drizzle-seed, tsx の install
22+
23+ 下記コマンドを実行する
24+
25+ ` tsx ` は 後作成する Script を実行するために利用する。
26+ yarn や pnpm 等利用している方は適宜コマンドを変更してください。
27+
28+ ``` sh
29+ npm i drizzle-seed tsx
30+ ```
31+
32+ ## Script を用意
33+
34+ ``` ts:reset.ts
35+ import { drizzle } from ' drizzle-orm/postgres-js' ;
36+ import { reset } from ' drizzle-seed' ;
37+ import postgres from ' postgres' ;
38+ import * as schema from ' ./drizzle/schema' ;
39+
40+ export async function clearDatabase() {
41+ console .log (' 🗑️ Clearing database...' );
42+
43+ const sql = postgres (process .env .DATABASE_URL , { prepare: false });
44+ const db = drizzle (sql , { schema });
45+ await reset (db , schema );
46+ await sql .end ();
47+ }
48+
49+ (async () => {
50+ await clearDatabase ();
51+ })();
52+ ```
53+
54+ ## Script を実行する
55+
56+ ``` sh
57+ > tsx ./reset.ts
58+
59+ 🗑️ Clearing database...
60+ ```
61+
62+ ## Ref
63+
64+ https://orm.drizzle.team
65+
66+ https://orm.drizzle.team/docs/seed-overview
67+
68+ https://www.npmjs.com/package/tsx
You can’t perform that action at this time.
0 commit comments