•
TypeScriptDrizzledrizzle-seed
drizzle-seed を使って DB のデータをリセットする
はじめに
Drizzle ORM を使っている Project で DB のデータをリセットしたかった。 drizzle-seed の reset を使って reset する script を用意したのでメモ なお、 Drizzle のセットアップ等は割愛する。
drizzle-seed, tsx の install
下記コマンドを実行する
tsx は 後作成する Script を実行するために利用する。
yarn や pnpm 等利用している方は適宜コマンドを変更してください。
npm i drizzle-seed tsx
Script を用意
import { drizzle } from 'drizzle-orm/postgres-js';
import { reset } from 'drizzle-seed';
import postgres from 'postgres';
import * as schema from './drizzle/schema';
export async function clearDatabase() {
console.log('🗑️ Clearing database...');
const sql = postgres(process.env.DATABASE_URL, { prepare: false });
const db = drizzle(sql, { schema });
await reset(db, schema);
await sql.end();
}
(async () => {
await clearDatabase();
})();
Script を実行する
> tsx ./reset.ts
🗑️ Clearing database...