aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/examples/with-prisma/packages/database/src
diff options
context:
space:
mode:
Diffstat (limited to 'examples/with-prisma/packages/database/src')
-rw-r--r--examples/with-prisma/packages/database/src/client.ts11
-rw-r--r--examples/with-prisma/packages/database/src/index.ts1
-rw-r--r--examples/with-prisma/packages/database/src/seed.ts36
3 files changed, 48 insertions, 0 deletions
diff --git a/examples/with-prisma/packages/database/src/client.ts b/examples/with-prisma/packages/database/src/client.ts
new file mode 100644
index 0000000..481d7a9
--- /dev/null
+++ b/examples/with-prisma/packages/database/src/client.ts
@@ -0,0 +1,11 @@
+import { PrismaClient } from "@prisma/client";
+
+declare global {
+ var prisma: PrismaClient | undefined;
+}
+
+export const prisma = global.prisma || new PrismaClient();
+
+if (process.env.NODE_ENV !== "production") global.prisma = prisma;
+
+export * from "@prisma/client";
diff --git a/examples/with-prisma/packages/database/src/index.ts b/examples/with-prisma/packages/database/src/index.ts
new file mode 100644
index 0000000..5ec7692
--- /dev/null
+++ b/examples/with-prisma/packages/database/src/index.ts
@@ -0,0 +1 @@
+export * from "./client";
diff --git a/examples/with-prisma/packages/database/src/seed.ts b/examples/with-prisma/packages/database/src/seed.ts
new file mode 100644
index 0000000..a5d7752
--- /dev/null
+++ b/examples/with-prisma/packages/database/src/seed.ts
@@ -0,0 +1,36 @@
+import { prisma } from ".";
+
+import type { User } from "@prisma/client";
+
+const DEFAULT_USERS = [
+ // Add your own user to pre-populate the database with
+ {
+ name: "Tim Apple",
+ email: "tim@apple.com",
+ },
+] as Array<Partial<User>>;
+
+(async () => {
+ try {
+ await Promise.all(
+ DEFAULT_USERS.map((user) =>
+ prisma.user.upsert({
+ where: {
+ email: user.email!,
+ },
+ update: {
+ ...user,
+ },
+ create: {
+ ...user,
+ },
+ })
+ )
+ );
+ } catch (error) {
+ console.error(error);
+ process.exit(1);
+ } finally {
+ await prisma.$disconnect();
+ }
+})();