Skip to content

Commit 35e4d12

Browse files
authored
Merge pull request #328 from mziyut/create-pull-request/patch-pull-articles
Pull articles
2 parents d9ac57c + 2bd4cff commit 35e4d12

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
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

0 commit comments

Comments
 (0)