diff --git a/.gitignore b/.gitignore index 7ce1e5f6c84d..1fd2aa236b22 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,8 @@ tmp-resolvers package-lock.json flow-typed yarn.lock +bun.lock +pnpm-lock.yaml orm/**/migrations/ misc/**/migrations/ databases/**/migrations/ diff --git a/accelerate/accelerate-hacker-news/README.md b/accelerate/accelerate-hacker-news/README.md index 3a2ed477aef2..1d4a33b4a3cd 100644 --- a/accelerate/accelerate-hacker-news/README.md +++ b/accelerate/accelerate-hacker-news/README.md @@ -33,19 +33,16 @@ Create a `.env` in the root of the project directory: cp .env.example .env ``` -Now, open the `.env` file and set the `DATABASE_URL` and `DIRECT_URL` environment variables with the values of your connection string and your Accelerate connection string: +Now, open the `.env` file and set the `DATABASE_URL` environment variable with the value of your Accelerate connection string: ```bash # .env # Accelerate connection string (used for queries by Prisma Client) DATABASE_URL="__YOUR_ACCELERATE_CONNECTION_STRING__" - -# Database connection string (used for migrations by Prisma Migrate) -DIRECT_URL="__YOUR_DATABASE_CONNECTION_STRING__" ``` -Note that `__YOUR_DATABASE_CONNECTION_STRING__` and `__YOUR_ACCELERATE_CONNECTION_STRING__` are placeholder values that you need to replace with the values of your database and Accelerate connection strings. Notice that the Accelerate connection string has the following structure: `prisma://accelerate.prisma-data.net/?api_key=__YOUR_ACCELERATE_API_KEY__`. +Note that `__YOUR_ACCELERATE_CONNECTION_STRING__` is a placeholder value that you need to replace with the value of your Accelerate connection string. Notice that the Accelerate connection string has the following structure: `prisma://accelerate.prisma-data.net/?api_key=__YOUR_ACCELERATE_API_KEY__`. ### 3. Run a migration to create the `Post` table @@ -55,12 +52,12 @@ The Prisma schema file contains a single `Post` model. You can map this model to npx prisma migrate dev --name init ``` -### 4. Generate Prisma Client for Accelerate +### 4. Generate Prisma Client -When using Accelerate, Prisma Client doesn't need a query engine. That's why you should generate it as follows: +Generate Prisma Client with the following command: ``` -npx prisma generate --no-engine +npx prisma generate ``` ### 5. Start the app diff --git a/accelerate/accelerate-hacker-news/lib/db.ts b/accelerate/accelerate-hacker-news/lib/db.ts index 3a89a2e8bc61..fd9533084331 100644 --- a/accelerate/accelerate-hacker-news/lib/db.ts +++ b/accelerate/accelerate-hacker-news/lib/db.ts @@ -1,8 +1,11 @@ -import { PrismaClient } from '@prisma/client' +import "dotenv/config" +import { PrismaClient } from '../prisma/generated/client' import { withAccelerate } from '@prisma/extension-accelerate' const prismaClientSingleton = () => { - return new PrismaClient().$extends(withAccelerate()) + return new PrismaClient({ + accelerateUrl: process.env.DATABASE_URL, + }).$extends(withAccelerate()) } declare const globalThis: { diff --git a/accelerate/accelerate-hacker-news/package.json b/accelerate/accelerate-hacker-news/package.json index f921ed129b45..bf6e868385af 100644 --- a/accelerate/accelerate-hacker-news/package.json +++ b/accelerate/accelerate-hacker-news/package.json @@ -9,14 +9,13 @@ "lint": "next lint" }, "dependencies": { - "@prisma/client": "6.9.0", - "@prisma/extension-accelerate": "2.0.2", + "@prisma/client": "7.0.0", + "@prisma/extension-accelerate": "^2.0.2", "next": "15.3.5", "react": "19.1.0", "react-dom": "19.1.0" }, "devDependencies": { - "prisma": "6.9.0", "@faker-js/faker": "9.9.0", "@types/node": "22.19.0", "@types/react": "19.1.8", @@ -24,6 +23,7 @@ "eslint": "8.57.1", "eslint-config-next": "15.3.5", "postcss": "8.5.6", + "prisma": "7.0.0", "tailwindcss": "3.4.17", "tsx": "4.20.6", "typescript": "5.8.2" @@ -31,4 +31,4 @@ "prisma": { "seed": "tsx ./prisma/seed.ts" } -} +} \ No newline at end of file diff --git a/accelerate/accelerate-hacker-news/prisma.config.ts b/accelerate/accelerate-hacker-news/prisma.config.ts new file mode 100644 index 000000000000..625c2bab069f --- /dev/null +++ b/accelerate/accelerate-hacker-news/prisma.config.ts @@ -0,0 +1,13 @@ +import "dotenv/config"; +import { defineConfig, env } from "prisma/config"; + +export default defineConfig({ + schema: "prisma/schema.prisma", + migrations: { + path: "prisma/migrations", + seed: "tsx ./prisma/seed.ts", + }, + datasource: { + url: env("DATABASE_URL"), + }, +}); diff --git a/accelerate/accelerate-hacker-news/prisma/schema.prisma b/accelerate/accelerate-hacker-news/prisma/schema.prisma index edc39f967e58..1ef30b0d37b1 100644 --- a/accelerate/accelerate-hacker-news/prisma/schema.prisma +++ b/accelerate/accelerate-hacker-news/prisma/schema.prisma @@ -1,19 +1,18 @@ generator client { - provider = "prisma-client-js" + provider = "prisma-client" + output = "./generated" } datasource db { provider = "postgresql" - url = env("DATABASE_URL") - directUrl = env("DIRECT_URL") } model Post { - id Int @id @default(autoincrement()) + id Int @id @default(autoincrement()) title String url String content String vote Int - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt } diff --git a/accelerate/accelerate-hacker-news/prisma/seed.ts b/accelerate/accelerate-hacker-news/prisma/seed.ts index 64842ad15683..3a614701c330 100644 --- a/accelerate/accelerate-hacker-news/prisma/seed.ts +++ b/accelerate/accelerate-hacker-news/prisma/seed.ts @@ -1,7 +1,11 @@ -import { PrismaClient } from '@prisma/client' +import "dotenv/config" +import { PrismaClient } from './generated/client' import { faker } from '@faker-js/faker' +import { withAccelerate } from '@prisma/extension-accelerate' -const prisma = new PrismaClient() +const prisma = new PrismaClient({ + accelerateUrl: process.env.DATABASE_URL, +}).$extends(withAccelerate()) const main = async () => { await prisma.post.deleteMany() diff --git a/accelerate/accelerate-hacker-news/tsconfig.json b/accelerate/accelerate-hacker-news/tsconfig.json index e7ff90fd2767..d81d4ee14e76 100644 --- a/accelerate/accelerate-hacker-news/tsconfig.json +++ b/accelerate/accelerate-hacker-news/tsconfig.json @@ -1,6 +1,10 @@ { "compilerOptions": { - "lib": ["dom", "dom.iterable", "esnext"], + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], "allowJs": true, "skipLibCheck": true, "strict": true, @@ -18,9 +22,19 @@ } ], "paths": { - "@/*": ["./*"] - } + "@/*": [ + "./*" + ] + }, + "target": "ES2017" }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], - "exclude": ["node_modules"] + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts" + ], + "exclude": [ + "node_modules" + ] } diff --git a/accelerate/astro-starter/README.md b/accelerate/astro-starter/README.md index fc35b5827e07..04b937f60d3b 100644 --- a/accelerate/astro-starter/README.md +++ b/accelerate/astro-starter/README.md @@ -29,7 +29,7 @@ Copy the `.env.example` env file in the root of the project directory: cp .env.example .env ``` -Now, open the `.env` file and set the `DIRECT_URL` and `DATABASE_URL` environment variables with the values of your connection string and your Accelerate connection string respectively: +Now, open the `.env` file and set the `DATABASE_URL` environment variable with the value of your Accelerate connection string: ```bash # .env @@ -37,12 +37,9 @@ Now, open the `.env` file and set the `DIRECT_URL` and `DATABASE_URL` environmen # Accelerate connection string (used for queries by Prisma Client) DATABASE_URL="__YOUR_ACCELERATE_CONNECTION_STRING__" -# Database connection string (used for migrations by Prisma Migrate) -DIRECT_URL="__YOUR_DATABASE_CONNECTION_STRING__" - ``` -Note that `__YOUR_DATABASE_CONNECTION_STRING__` and `__YOUR_ACCELERATE_CONNECTION_STRING__` are placeholder values that you need to replace with the values of your database and Accelerate connection strings. Notice that the Accelerate connection string has the following structure: `prisma://accelerate.prisma-data.net/?api_key=__YOUR_ACCELERATE_API_KEY__`. +Note that `__YOUR_ACCELERATE_CONNECTION_STRING__` is a placeholder value that you need to replace with the value of your Accelerate connection string. Notice that the Accelerate connection string has the following structure: `prisma://accelerate.prisma-data.net/?api_key=__YOUR_ACCELERATE_API_KEY__`. ### 3. Run a migration to create the `Quote` table and seed the database @@ -58,12 +55,12 @@ You now have an empty `Quote` table in your database. Next, run the [seed script npx prisma db seed ``` -### 4. Generate Prisma Client for Accelerate +### 4. Generate Prisma Client -When using Accelerate, Prisma Client doesn't need a query engine. That's why you should generate it as follows: +Generate Prisma Client with the following command: ``` -npx prisma generate --no-engine +npx prisma generate ``` ### 5. Start the app diff --git a/accelerate/astro-starter/package.json b/accelerate/astro-starter/package.json index 8143b9d8ad73..3575eca18b8a 100644 --- a/accelerate/astro-starter/package.json +++ b/accelerate/astro-starter/package.json @@ -13,22 +13,18 @@ "@astrojs/check": "0.9.5", "@astrojs/react": "4.3.0", "@astrojs/tailwind": "6.0.2", + "@prisma/client": "7.0.0", + "@prisma/extension-accelerate": "^2.0.2", "@types/react": "19.1.8", "@types/react-dom": "19.1.6", "astro": "5.10.2", - "prisma": "6.9.0", "react": "19.1.0", "react-dom": "19.1.0", "tailwindcss": "3.4.17", - "typescript": "5.8.2", - "@prisma/client": "6.9.0", - "@prisma/extension-accelerate": "2.0.2" + "typescript": "5.8.2" }, "devDependencies": { - "prisma": "6.9.0", + "prisma": "7.0.0", "tsx": "4.20.6" - }, - "prisma": { - "seed": "tsx prisma/seed.ts" } -} +} \ No newline at end of file diff --git a/accelerate/astro-starter/prisma.config.ts b/accelerate/astro-starter/prisma.config.ts new file mode 100644 index 000000000000..625c2bab069f --- /dev/null +++ b/accelerate/astro-starter/prisma.config.ts @@ -0,0 +1,13 @@ +import "dotenv/config"; +import { defineConfig, env } from "prisma/config"; + +export default defineConfig({ + schema: "prisma/schema.prisma", + migrations: { + path: "prisma/migrations", + seed: "tsx ./prisma/seed.ts", + }, + datasource: { + url: env("DATABASE_URL"), + }, +}); diff --git a/accelerate/astro-starter/prisma/schema.prisma b/accelerate/astro-starter/prisma/schema.prisma index bec04763ca89..4e40e3435b84 100644 --- a/accelerate/astro-starter/prisma/schema.prisma +++ b/accelerate/astro-starter/prisma/schema.prisma @@ -2,13 +2,12 @@ // learn more about it in the docs: https://pris.ly/d/prisma-schema generator client { - provider = "prisma-client-js" + provider = "prisma-client" + output = "./generated" } datasource db { - provider = "postgresql" - url = env("DATABASE_URL") - directUrl = env("DIRECT_URL") + provider = "postgresql" } model Quote { diff --git a/accelerate/astro-starter/prisma/seed.ts b/accelerate/astro-starter/prisma/seed.ts index 6d3661e1bc08..47f7d83eb698 100644 --- a/accelerate/astro-starter/prisma/seed.ts +++ b/accelerate/astro-starter/prisma/seed.ts @@ -1,6 +1,9 @@ -import { PrismaClient } from '@prisma/client' +import { PrismaClient } from './generated/client' +import { withAccelerate } from '@prisma/extension-accelerate' -const prisma = new PrismaClient() +const prisma = new PrismaClient({ + accelerateUrl: process.env.DATABASE_URL, +}).$extends(withAccelerate()) const main = async () => { console.log('Seeding database 🌱') diff --git a/accelerate/astro-starter/src/pages/db.ts b/accelerate/astro-starter/src/pages/db.ts index 05af8f9c8961..b6aad5d225fb 100644 --- a/accelerate/astro-starter/src/pages/db.ts +++ b/accelerate/astro-starter/src/pages/db.ts @@ -1,10 +1,12 @@ -import { PrismaClient } from '@prisma/client' +import { PrismaClient } from '../../prisma/generated/client' import { withAccelerate } from '@prisma/extension-accelerate' // Learn more about instantiating PrismaClient in Next.js here: https://www.prisma.io/docs/data-platform/accelerate/getting-started const prismaClientSingleton = () => { - return new PrismaClient().$extends(withAccelerate()) + return new PrismaClient({ + accelerateUrl: process.env.DATABASE_URL, + }).$extends(withAccelerate()) } declare const globalThis: { diff --git a/accelerate/nextjs-starter/README.md b/accelerate/nextjs-starter/README.md index d3afd5d87f2a..a879c45e46bf 100644 --- a/accelerate/nextjs-starter/README.md +++ b/accelerate/nextjs-starter/README.md @@ -29,7 +29,7 @@ Create a `.env` in the root of the project directory: touch .env ``` -Now, open the `.env` file and set the `DATABASE_URL` and `DIRECT_URL` environment variables with the values of your connection string and your Accelerate connection string: +Now, open the `.env` file and set the `DATABASE_URL` environment variable with the value of your Accelerate connection string: ```bash # .env @@ -37,13 +37,10 @@ Now, open the `.env` file and set the `DATABASE_URL` and `DIRECT_URL` environmen # Accelerate connection string (used for queries by Prisma Client) DATABASE_URL="__YOUR_ACCELERATE_CONNECTION_STRING__" -# Database connection string (used for migrations by Prisma Migrate) -DIRECT_URL="__YOUR_DATABASE_CONNECTION_STRING__" - NEXT_PUBLIC_URL="http://localhost:3000" ``` -Note that `__YOUR_DATABASE_CONNECTION_STRING__` and `__YOUR_ACCELERATE_CONNECTION_STRING__` are placeholder values that you need to replace with the values of your database and Accelerate connection strings. Notice that the Accelerate connection string has the following structure: `prisma://accelerate.prisma-data.net/?api_key=__YOUR_ACCELERATE_API_KEY__`. +Note that `__YOUR_ACCELERATE_CONNECTION_STRING__` is a placeholder value that you need to replace with the value of your Accelerate connection string. Notice that the Accelerate connection string has the following structure: `prisma://accelerate.prisma-data.net/?api_key=__YOUR_ACCELERATE_API_KEY__`. ### 3. Run a migration to create the `Quotes` table and seed the database @@ -59,12 +56,12 @@ You now have an empty `Quotes` table in your database. Next, run the [seed scrip npx prisma db seed ``` -### 4. Generate Prisma Client for Accelerate +### 4. Generate Prisma Client -When using Accelerate, Prisma Client doesn't need a query engine. That's why you should generate it as follows: +Generate Prisma Client with the following command: ``` -npx prisma generate --no-engine +npx prisma generate ``` ### 5. Start the app diff --git a/accelerate/nextjs-starter/components/Quote/Quote.tsx b/accelerate/nextjs-starter/components/Quote/Quote.tsx index fa040d5ee3c5..6b5559994e57 100644 --- a/accelerate/nextjs-starter/components/Quote/Quote.tsx +++ b/accelerate/nextjs-starter/components/Quote/Quote.tsx @@ -1,6 +1,5 @@ import { QuoteWrapper } from "./QuoteWrapper"; import { QuoteCacheType, QuoteResult } from "@/lib/types"; -import { findIATA } from "openflights-cached"; export const Quote: React.FC<{ title: string; @@ -35,7 +34,7 @@ export const Quote: React.FC<{ Cache Node Region ⸺ {" "} - {findIATA(region)?.city ?? region} + {region}
Cache Node Region ⸺ - {{ findIATA(region)?.city || region }}
Cache Node Region ⸺ - {findIATA(region)?.city ?? region} + {region}
Cache status ⸺ {cacheStatus diff --git a/accelerate/remix-starter/app/data/utils/prisma.server.ts b/accelerate/remix-starter/app/data/utils/prisma.server.ts index 293f661397bd..e5660977a79e 100644 --- a/accelerate/remix-starter/app/data/utils/prisma.server.ts +++ b/accelerate/remix-starter/app/data/utils/prisma.server.ts @@ -1,11 +1,13 @@ /* eslint-disable no-var */ /* eslint-disable @typescript-eslint/no-explicit-any */ -import { PrismaClient } from "@prisma/client"; -import { withAccelerate } from "@prisma/extension-accelerate"; +import { PrismaClient } from "../../../prisma/generated/client"; +import { withAccelerate } from '@prisma/extension-accelerate' import { SERVER_ENV } from "~/env/envFlags.server"; function buildClient() { - const client = new PrismaClient().$extends(withAccelerate()); + const client = new PrismaClient({ + accelerateUrl: SERVER_ENV.DATABASE_URL, + }).$extends(withAccelerate()); return client; } diff --git a/accelerate/remix-starter/app/env/envFlags.server.ts b/accelerate/remix-starter/app/env/envFlags.server.ts index dac50a0581ca..780261db0a57 100644 --- a/accelerate/remix-starter/app/env/envFlags.server.ts +++ b/accelerate/remix-starter/app/env/envFlags.server.ts @@ -2,7 +2,6 @@ import z from "zod"; import { generateErrorMessage } from "zod-error"; export const serverEnvSchema = z.object({ - DIRECT_DATABASE_URL: z.string(), DATABASE_URL: z.string(), NODE_ENV: z.string(), }); diff --git a/accelerate/remix-starter/package.json b/accelerate/remix-starter/package.json index 60a2f2908dc0..81757c7b0815 100644 --- a/accelerate/remix-starter/package.json +++ b/accelerate/remix-starter/package.json @@ -17,15 +17,12 @@ "ts-run": "dotenv ts-node", "validate-env": "npm run ts-run tasks/validateConfig.ts" }, - "prisma": { - "seed": "tsx prisma/seed.ts" - }, "lint-staged": { "*.{js,ts,jsx,tsx}": "eslint --cache --fix" }, "dependencies": { - "@prisma/client": "6.9.0", - "@prisma/extension-accelerate": "2.0.2", + "@prisma/client": "7.0.0", + "@prisma/extension-accelerate": "^2.0.2", "@remix-run/node": "2.16.8", "@remix-run/react": "2.16.8", "@remix-run/serve": "2.16.8", @@ -35,7 +32,6 @@ "isbot": "5.1.31", "lodash": "4.17.21", "lodash-es": "4.17.21", - "openflights-cached": "1.3.15", "postcss": "8.5.6", "react": "19.1.0", "react-dom": "19.1.0", @@ -77,7 +73,7 @@ "jsdom": "26.1.0", "lint-staged": "16.2.6", "prettier": "3.6.2", - "prisma": "6.9.0", + "prisma": "7.0.0", "tailwindcss": "3.4.17", "ts-node": "10.9.2", "tsx": "4.20.6", @@ -89,4 +85,4 @@ "engines": { "node": "22.21.1" } -} +} \ No newline at end of file diff --git a/accelerate/remix-starter/prisma.config.ts b/accelerate/remix-starter/prisma.config.ts new file mode 100644 index 000000000000..625c2bab069f --- /dev/null +++ b/accelerate/remix-starter/prisma.config.ts @@ -0,0 +1,13 @@ +import "dotenv/config"; +import { defineConfig, env } from "prisma/config"; + +export default defineConfig({ + schema: "prisma/schema.prisma", + migrations: { + path: "prisma/migrations", + seed: "tsx ./prisma/seed.ts", + }, + datasource: { + url: env("DATABASE_URL"), + }, +}); diff --git a/accelerate/remix-starter/prisma/schema.prisma b/accelerate/remix-starter/prisma/schema.prisma index cda0ee7afb1e..8e580982cbad 100644 --- a/accelerate/remix-starter/prisma/schema.prisma +++ b/accelerate/remix-starter/prisma/schema.prisma @@ -1,11 +1,10 @@ generator client { - provider = "prisma-client-js" + provider = "prisma-client" + output = "./generated" } datasource db { - provider = "postgres" - url = env("DATABASE_URL") - directUrl = env("DIRECT_DATABASE_URL") + provider = "postgresql" } model Quotes { diff --git a/accelerate/remix-starter/prisma/seed.ts b/accelerate/remix-starter/prisma/seed.ts index 00382053bb84..9c1eefe9b417 100644 --- a/accelerate/remix-starter/prisma/seed.ts +++ b/accelerate/remix-starter/prisma/seed.ts @@ -1,5 +1,10 @@ -import { PrismaClient } from "@prisma/client"; -const prisma = new PrismaClient(); +import { PrismaClient } from "./generated/client"; +import "dotenv/config"; +import { withAccelerate } from '@prisma/extension-accelerate' + +const prisma = new PrismaClient({ + accelerateUrl: process.env.DATABASE_URL, +}).$extends(withAccelerate()); async function main() { console.log("Seeding started..."); diff --git a/accelerate/solidstart-starter/README.md b/accelerate/solidstart-starter/README.md index 727efe5267c8..4848f8601291 100644 --- a/accelerate/solidstart-starter/README.md +++ b/accelerate/solidstart-starter/README.md @@ -38,7 +38,7 @@ Create a `.env` in the root of the project directory: touch .env ``` -Now, open the `.env` file and set the `DATABASE_URL` and `DIRECT_URL` environment variables with the values of your connection string and your Accelerate connection string: +Now, open the `.env` file and set the `DATABASE_URL` environment variable with the value of your Accelerate connection string: ```bash # .env @@ -46,13 +46,10 @@ Now, open the `.env` file and set the `DATABASE_URL` and `DIRECT_URL` environmen # Accelerate connection string (used for queries by Prisma Client) DATABASE_URL="__YOUR_ACCELERATE_CONNECTION_STRING__" -# Database connection string (used for migrations by Prisma Migrate) -DIRECT_URL="__YOUR_DATABASE_CONNECTION_STRING__" - SOLID_START_PUBLIC_URL="http://localhost:3000" ``` -Note that `__YOUR_DATABASE_CONNECTION_STRING__` and `__YOUR_ACCELERATE_CONNECTION_STRING__` are placeholder values that you need to replace with the values of your database and Accelerate connection strings. Notice that the Accelerate connection string has the following structure: `prisma://accelerate.prisma-data.net/?api_key=__YOUR_ACCELERATE_API_KEY__`. +Note that `__YOUR_ACCELERATE_CONNECTION_STRING__` is a placeholder value that you need to replace with the value of your Accelerate connection string. Notice that the Accelerate connection string has the following structure: `prisma://accelerate.prisma-data.net/?api_key=__YOUR_ACCELERATE_API_KEY__`. ### 3. Run a migration to create the `Quotes` table and seed the database @@ -68,12 +65,12 @@ You now have an empty `Quotes` table in your database. Next, run the [seed scrip npx prisma db seed ``` -### 4. Generate Prisma Client for Accelerate +### 4. Generate Prisma Client -When using Accelerate, Prisma Client doesn't need a query engine. That's why you should generate it as follows: +Generate Prisma Client with the following command: ``` -npx prisma generate --no-engine +npx prisma generate ``` ### 5. Start the app diff --git a/accelerate/solidstart-starter/package.json b/accelerate/solidstart-starter/package.json index 302451d546f5..cf86c59aaefc 100644 --- a/accelerate/solidstart-starter/package.json +++ b/accelerate/solidstart-starter/package.json @@ -7,10 +7,11 @@ "start": "vinxi start" }, "dependencies": { - "@prisma/client": "6.9.0", - "@prisma/extension-accelerate": "2.0.2", + "@prisma/client": "7.0.0", + "@prisma/extension-accelerate": "^2.0.2", "@solidjs/router": "0.15.3", "@solidjs/start": "1.1.7", + "dotenv": "^17.2.3", "solid-js": "1.9.10", "tsx": "4.20.6", "vinxi": "0.5.8", @@ -22,10 +23,10 @@ "devDependencies": { "autoprefixer": "10.4.21", "postcss": "8.5.6", - "prisma": "6.9.0", + "prisma": "7.0.0", "tailwindcss": "3.4.17" }, "prisma": { "seed": "tsx prisma/seed.ts" } -} +} \ No newline at end of file diff --git a/accelerate/solidstart-starter/prisma.config.ts b/accelerate/solidstart-starter/prisma.config.ts new file mode 100644 index 000000000000..625c2bab069f --- /dev/null +++ b/accelerate/solidstart-starter/prisma.config.ts @@ -0,0 +1,13 @@ +import "dotenv/config"; +import { defineConfig, env } from "prisma/config"; + +export default defineConfig({ + schema: "prisma/schema.prisma", + migrations: { + path: "prisma/migrations", + seed: "tsx ./prisma/seed.ts", + }, + datasource: { + url: env("DATABASE_URL"), + }, +}); diff --git a/accelerate/solidstart-starter/prisma/schema.prisma b/accelerate/solidstart-starter/prisma/schema.prisma index 9b6c9431a4ef..903e83b043f6 100644 --- a/accelerate/solidstart-starter/prisma/schema.prisma +++ b/accelerate/solidstart-starter/prisma/schema.prisma @@ -5,12 +5,12 @@ // Try Prisma Accelerate: https://pris.ly/cli/accelerate-init generator client { - provider = "prisma-client-js" + provider = "prisma-client" + output = "./generated" } datasource db { provider = "postgresql" - url = env("DATABASE_URL") } model Quotes { diff --git a/accelerate/solidstart-starter/prisma/seed.ts b/accelerate/solidstart-starter/prisma/seed.ts index 433935f38c89..28326cfe5775 100644 --- a/accelerate/solidstart-starter/prisma/seed.ts +++ b/accelerate/solidstart-starter/prisma/seed.ts @@ -1,6 +1,10 @@ -import { PrismaClient } from "@prisma/client"; +import { PrismaClient } from "./generated/client" +import "dotenv/config"; +import { withAccelerate } from '@prisma/extension-accelerate' -const prisma = new PrismaClient(); +const prisma = new PrismaClient({ + accelerateUrl: process.env.DATABASE_URL, +}).$extends(withAccelerate()); const main = async () => { console.time("Seeding complete 🌱"); diff --git a/accelerate/solidstart-starter/src/lib/prisma.ts b/accelerate/solidstart-starter/src/lib/prisma.ts index fcc6ce659d7e..702fffef1ba2 100644 --- a/accelerate/solidstart-starter/src/lib/prisma.ts +++ b/accelerate/solidstart-starter/src/lib/prisma.ts @@ -1,7 +1,8 @@ -import { PrismaClient } from '@prisma/client' +import { PrismaClient } from '../../prisma/generated/client' import { withAccelerate } from '@prisma/extension-accelerate' +const prisma = new PrismaClient({ + accelerateUrl: process.env.DATABASE_URL, +}).$extends(withAccelerate()); -const prisma = new PrismaClient().$extends(withAccelerate()) - -export default prisma \ No newline at end of file +export default prisma; \ No newline at end of file diff --git a/accelerate/starter/README.md b/accelerate/starter/README.md index 7fb6404cf268..e9fe33fa4f65 100644 --- a/accelerate/starter/README.md +++ b/accelerate/starter/README.md @@ -50,15 +50,14 @@ Create a `.env` in the root of the project directory: touch .env ``` -Now, open the `.env` file and update the `DATABASE_URL` environment variables with the values of your connection string: +Now, open the `.env` file and update the `DATABASE_URL` environment variable with the value of your Accelerate connection string: ```bash # .env DATABASE_URL="__ACCELERATE_CONNECTION_STRING_PLACEHOLDER__" -DIRECT_URL="__DIRECT_DATABASE_CONNECTION_STRING_PLACEHOLDER__" ``` -Note that you need to replace the placeholder values with the actual values. +Note that you need to replace the placeholder value with the actual value of your Accelerate connection string. ### 3. Run a database migration to create the `User` table diff --git a/accelerate/starter/package.json b/accelerate/starter/package.json index 970d89958909..9865cc5b28a7 100644 --- a/accelerate/starter/package.json +++ b/accelerate/starter/package.json @@ -11,13 +11,13 @@ "devDependencies": { "@types/node": "22.19.0", "nodemon": "3.1.10", - "prisma": "6.9.0", + "prisma": "7.0.0", "tsx": "4.20.6", "typescript": "5.8.2" }, "dependencies": { - "@prisma/client": "6.9.0", - "@prisma/extension-accelerate": "2.0.2" + "@prisma/client": "7.0.0", + "@prisma/extension-accelerate": "^2.0.2" }, "prettier": { "trailingComma": "all", @@ -30,4 +30,4 @@ "bracketSpacing": true, "arrowParens": "always" } -} +} \ No newline at end of file diff --git a/accelerate/starter/prisma.config.ts b/accelerate/starter/prisma.config.ts new file mode 100644 index 000000000000..625c2bab069f --- /dev/null +++ b/accelerate/starter/prisma.config.ts @@ -0,0 +1,13 @@ +import "dotenv/config"; +import { defineConfig, env } from "prisma/config"; + +export default defineConfig({ + schema: "prisma/schema.prisma", + migrations: { + path: "prisma/migrations", + seed: "tsx ./prisma/seed.ts", + }, + datasource: { + url: env("DATABASE_URL"), + }, +}); diff --git a/accelerate/starter/prisma/schema.prisma b/accelerate/starter/prisma/schema.prisma index 0ae298de7e2b..4a8f8419ce41 100644 --- a/accelerate/starter/prisma/schema.prisma +++ b/accelerate/starter/prisma/schema.prisma @@ -2,17 +2,16 @@ // learn more about it in the docs: https://pris.ly/d/prisma-schema generator client { - provider = "prisma-client-js" + provider = "prisma-client" + output = "./generated" } datasource db { - provider = "postgresql" - url = env("DATABASE_URL") - directUrl = env("DIRECT_URL") + provider = "postgresql" } model User { - id Int @id @default(autoincrement()) + id Int @id @default(autoincrement()) name String email String } diff --git a/accelerate/starter/src/index.ts b/accelerate/starter/src/index.ts index 3ce291f1fead..96c5210981e5 100644 --- a/accelerate/starter/src/index.ts +++ b/accelerate/starter/src/index.ts @@ -1,7 +1,9 @@ -import { PrismaClient } from '@prisma/client'; +import { PrismaClient } from '../prisma/generated/client'; import { withAccelerate } from '@prisma/extension-accelerate' -const prisma = new PrismaClient().$extends(withAccelerate()) +const prisma = new PrismaClient({ + accelerateUrl: process.env.DATABASE_URL, +}).$extends(withAccelerate()); async function main() { const newUser = await prisma.user.create({ diff --git a/accelerate/starter/tsconfig.json b/accelerate/starter/tsconfig.json index a2b8c6f0b7c9..390bf055f749 100644 --- a/accelerate/starter/tsconfig.json +++ b/accelerate/starter/tsconfig.json @@ -1,9 +1,9 @@ { "compilerOptions": { - "target": "es6", - "module": "commonjs", - "rootDir": "./src", - "outDir": "./dist", + "target": "es6", + "module": "commonjs", + "rootDir": ".", + "outDir": "./dist", "strict": true, "esModuleInterop": true, "typeRoots": [ @@ -12,4 +12,4 @@ "forceConsistentCasingInFileNames": true, "skipLibCheck": true }, -} +} \ No newline at end of file diff --git a/accelerate/svelte-starter/README.md b/accelerate/svelte-starter/README.md index 03c2762cbacc..b62b64a5a265 100644 --- a/accelerate/svelte-starter/README.md +++ b/accelerate/svelte-starter/README.md @@ -37,7 +37,7 @@ Create a `.env` in the root of the project directory: touch .env ``` -Now, open the `.env` file and set the `DATABASE_URL` and `DIRECT_URL` environment variables with the values of your connection string and your Accelerate connection string: +Now, open the `.env` file and set the `DATABASE_URL` environment variable with the value of your Accelerate connection string: ```bash # .env @@ -45,13 +45,10 @@ Now, open the `.env` file and set the `DATABASE_URL` and `DIRECT_URL` environmen # Accelerate connection string (used for queries by Prisma Client) DATABASE_URL="__YOUR_ACCELERATE_CONNECTION_STRING__" -# Database connection string (used for migrations by Prisma Migrate) -DIRECT_URL="__YOUR_DATABASE_CONNECTION_STRING__" - VITE_PUBLIC_URL="http://localhost:5173" ``` -Note that `__YOUR_DATABASE_CONNECTION_STRING__` and `__YOUR_ACCELERATE_CONNECTION_STRING__` are placeholder values that you need to replace with the values of your database and Accelerate connection strings. Notice that the Accelerate connection string has the following structure: `prisma://accelerate.prisma-data.net/?api_key=__YOUR_ACCELERATE_API_KEY__`. +Note that `__YOUR_ACCELERATE_CONNECTION_STRING__` is a placeholder value that you need to replace with the value of your Accelerate connection string. Notice that the Accelerate connection string has the following structure: `prisma://accelerate.prisma-data.net/?api_key=__YOUR_ACCELERATE_API_KEY__`. ### 3. Run a migration to create the `Quotes` table and seed the database @@ -67,12 +64,12 @@ You now have an empty `Quotes` table in your database. Next, run the [seed scrip npx prisma db seed ``` -### 4. Generate Prisma Client for Accelerate +### 4. Generate Prisma Client -When using Accelerate, Prisma Client doesn't need a query engine. That's why you should generate it as follows: +Generate Prisma Client with the following command: ``` -npx prisma generate --no-engine +npx prisma generate ``` ### 5. Start the app diff --git a/accelerate/svelte-starter/package.json b/accelerate/svelte-starter/package.json index f533ccd40643..2069bdf2c092 100644 --- a/accelerate/svelte-starter/package.json +++ b/accelerate/svelte-starter/package.json @@ -16,7 +16,7 @@ "@tailwindcss/typography": "0.5.19", "autoprefixer": "10.4.21", "postcss": "8.5.6", - "prisma": "6.9.0", + "prisma": "7.0.0", "svelte": "5.35.4", "svelte-check": "4.2.2", "tailwindcss": "3.4.17", @@ -27,13 +27,9 @@ }, "type": "module", "dependencies": { - "@prisma/client": "6.9.0", - "@prisma/extension-accelerate": "2.0.2", + "@prisma/client": "7.0.0", + "@prisma/extension-accelerate": "^2.0.2", "date-fns": "4.1.0", - "openflights-cached": "1.3.15", "zod": "3.25.76" - }, - "prisma": { - "seed": "tsx prisma/seed.ts" } -} +} \ No newline at end of file diff --git a/accelerate/svelte-starter/prisma.config.ts b/accelerate/svelte-starter/prisma.config.ts new file mode 100644 index 000000000000..625c2bab069f --- /dev/null +++ b/accelerate/svelte-starter/prisma.config.ts @@ -0,0 +1,13 @@ +import "dotenv/config"; +import { defineConfig, env } from "prisma/config"; + +export default defineConfig({ + schema: "prisma/schema.prisma", + migrations: { + path: "prisma/migrations", + seed: "tsx ./prisma/seed.ts", + }, + datasource: { + url: env("DATABASE_URL"), + }, +}); diff --git a/accelerate/svelte-starter/prisma/schema.prisma b/accelerate/svelte-starter/prisma/schema.prisma index 4f46ea877f1c..117a2bc830f7 100644 --- a/accelerate/svelte-starter/prisma/schema.prisma +++ b/accelerate/svelte-starter/prisma/schema.prisma @@ -5,13 +5,12 @@ // Try Prisma Accelerate: https://pris.ly/cli/accelerate-init generator client { - provider = "prisma-client-js" + provider = "prisma-client" + output = "./generated" } datasource db { provider = "postgresql" - url = env("DATABASE_URL") - directUrl = env("DIRECT_URL") } diff --git a/accelerate/svelte-starter/prisma/seed.ts b/accelerate/svelte-starter/prisma/seed.ts index fa4f6cec9075..511005987d9a 100644 --- a/accelerate/svelte-starter/prisma/seed.ts +++ b/accelerate/svelte-starter/prisma/seed.ts @@ -1,6 +1,10 @@ -import { PrismaClient } from "@prisma/client"; +import { PrismaClient } from "./generated/client"; +import "dotenv/config"; +import { withAccelerate } from '@prisma/extension-accelerate' -const prisma = new PrismaClient(); +const prisma = new PrismaClient({ + accelerateUrl: process.env.DATABASE_URL, +}).$extends(withAccelerate()); const main = async () => { console.time("Seeding complete 🌱"); diff --git a/accelerate/svelte-starter/src/components/Quote.svelte b/accelerate/svelte-starter/src/components/Quote.svelte index 0aa64335e8d4..b4e42c517044 100644 --- a/accelerate/svelte-starter/src/components/Quote.svelte +++ b/accelerate/svelte-starter/src/components/Quote.svelte @@ -1,8 +1,6 @@