LoginSignup
0
0

prismaのseedファイルを作りテーブルに初期データを投入する

Posted at

やりたいこと

prismaのマイグレーションをしたら、DBテーブルに初期データを投入したい

やり方

userテーブルに対して初期データを入れるとします。

まず、prismaフォルダ配下に以下のようなseed.jsを作成します。

image.png

seed.js
const { PrismaClient } = require('@prisma/client');

const prisma = new PrismaClient();

async function main() {
  console.log('Seeding data...');
  
  // ユーザーを作成する例
  const user1 = await prisma.user.create({
    data: {
      email: 'user1@example.com',
      password: 'password1',
      name: 'User 1',
    },
  });
  
  const user2 = await prisma.user.create({
    data: {
      email: 'user2@example.com',
      password: 'password2',
      name: 'User 2',
    },
  });
  
  // 初期データを追加する他の処理...
  
  console.log('Data seeding complete.');
}

main()
  .catch(err => {
    console.error('Error seeding data:', err);
  })
  .finally(async () => {
    await prisma.$disconnect();
  });

次に、package.jsonファイルのscriptsに以下を追記

{
  "scripts": {
    "seed": "node prisma/seed.js"
  }
}

最後、以下のコマンドを実行~

npm run seed

結果として、こんな感じで追加されました~
(すでに手動で一行目のデータを入れたため、2と3行目が今回の結果データとなる)

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0