Add database seeding functionality, update Prisma configuration, and create seed script for initial data population

This commit is contained in:
Norbert Maciaszek
2025-11-25 12:35:31 +01:00
parent 678605b7bc
commit 6b50100ba7
3 changed files with 36 additions and 9 deletions

View File

@@ -14,6 +14,7 @@ COPY prisma ./prisma
RUN npx prisma migrate deploy
RUN npx prisma generate
RUN npx prisma db seed
COPY . .

View File

@@ -1,14 +1,15 @@
// This file was generated by Prisma and assumes you have installed the following:
// npm install --save-dev prisma dotenv
import "dotenv/config";
import { defineConfig, env } from "prisma/config";
import 'dotenv/config';
import { defineConfig, env } from 'prisma/config';
export default defineConfig({
schema: "prisma/schema.prisma",
schema: 'prisma/schema.prisma',
migrations: {
path: "prisma/migrations",
seed: 'node prisma/seed.ts',
path: 'prisma/migrations'
},
datasource: {
url: env("DATABASE_URL"),
},
url: env('DATABASE_URL')
}
});

25
prisma/seed.ts Normal file
View File

@@ -0,0 +1,25 @@
import { PrismaBetterSqlite3 } from '@prisma/adapter-better-sqlite3';
import { PrismaClient } from '@prisma/client';
import { env } from 'prisma/config';
const adapter = new PrismaBetterSqlite3({
url: env('DATABASE_URL') || ''
});
const db = new PrismaClient({
adapter
});
async function seed() {
const year = new Date().getFullYear();
await db.year.create({
data: {
year,
budget: 3000
}
});
}
seed()
.catch((e) => {})
.finally(async () => {
await db.$disconnect();
});