Skip to content

Commit

Permalink
github action to seed demo database
Browse files Browse the repository at this point in the history
  • Loading branch information
ettorepuccetti committed Nov 4, 2024
1 parent 4b910a6 commit 2ddf704
Show file tree
Hide file tree
Showing 6 changed files with 53 additions and 216 deletions.
1 change: 0 additions & 1 deletion .github/workflows/cypress-testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ env:
NEXT_PUBLIC_APP_ENV: "test"
DEBUG: "cypress:server:args"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
#address of services is the name of the service if both on containers and no port map needed
TURSO_DATABASE_URL: "file:./prisma/dev.db"
NEXTAUTH_SECRET: ${{secrets.NEXTAUTH_SECRET}}
NEXTAUTH_URL: ${{vars.NEXTAUTH_URL}}
Expand Down
40 changes: 40 additions & 0 deletions .github/workflows/seed-demo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Seed demo
on:
workflow_dispatch:
env:
NODE_ENV: "test" # see: https://github.com/vercel/next.js/issues/55804#issuecomment-1735124191.
NEXT_PUBLIC_APP_ENV: "test"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TURSO_DATABASE_URL: "file:./prisma/dev.db"
TURSO_SYNC_URL: ${{ secrets.TURSO_DEMO_SYNC_URL }}
TURSO_AUTH_TOKEN: ${{ secrets.TURSO_DEMO_AUTH_TOKEN }}
CYPRESS_ADMIN_FORO_MAIL: ${{secrets.CYPRESS_ADMIN_FORO_MAIL}}
CYPRESS_ADMIN_FORO_PWD: ${{secrets.CYPRESS_ADMIN_FORO_PWD}}
CYPRESS_ADMIN_ALLENGLAND_MAIL: ${{secrets.CYPRESS_ADMIN_ALLENGLAND_MAIL}}
CYPRESS_ADMIN_ALLENGLAND_PWD: ${{secrets.CYPRESS_ADMIN_ALLENGLAND_PWD}}
CYPRESS_USER1_MAIL: ${{secrets.CYPRESS_USER1_MAIL}}
CYPRESS_USER1_PWD: ${{secrets.CYPRESS_USER1_PWD}}
CYPRESS_USER2_MAIL: ${{secrets.CYPRESS_USER2_MAIL}}
CYPRESS_USER2_PWD: ${{secrets.CYPRESS_USER2_PWD}}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
NEXT_PUBLIC_R2_BUCKET_NAME: ${{ vars.NEXT_PUBLIC_R2_BUCKET_NAME }}
NEXT_PUBLIC_R2_BUCKET_URL: ${{ vars.NEXT_PUBLIC_R2_BUCKET_URL }}

jobs:
seed-demo:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: install pnpm
uses: pnpm/action-setup@v2
with:
version: 8
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: "20"
- name: Install dependencies
run: npm install
- name: Seed demo
run: pnpm db:seed:demo
210 changes: 0 additions & 210 deletions prisma/migrations/20241023231730_init/migration.sql

This file was deleted.

3 changes: 0 additions & 3 deletions prisma/migrations/migration_lock.toml

This file was deleted.

2 changes: 1 addition & 1 deletion prisma/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ generator client {

datasource db {
provider = "sqlite"
url = "file:./dev.db"
url = "file:./dev.db" //must start with `file:`
}

model Account {
Expand Down
13 changes: 12 additions & 1 deletion prisma/seed-demo.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { createClient } from "@libsql/client";
import { PrismaLibSQL } from "@prisma/adapter-libsql";
import { PrismaClient } from "@prisma/client";
import dayjs from "dayjs";
import timezone from "dayjs/plugin/timezone";
Expand All @@ -21,7 +23,15 @@ dayjs.extend(timezone);

dayjs.tz.setDefault("Europe/Rome");

const prisma = new PrismaClient();
const libsql = createClient({
url: process.env.TURSO_DATABASE_URL!,
syncUrl: process.env.TURSO_SYNC_URL,
authToken: process.env.TURSO_AUTH_TOKEN,
});
const adapter = new PrismaLibSQL(libsql);

const prisma = new PrismaClient({ adapter });

async function main() {
//clean up
await prisma.reservation.deleteMany();
Expand Down Expand Up @@ -306,6 +316,7 @@ async function main() {

main()
.then(async () => {
await libsql.sync();
await prisma.$disconnect();
})
.catch(async (e) => {
Expand Down

0 comments on commit 2ddf704

Please sign in to comment.