diff --git a/apps/web/package.json b/apps/web/package.json index 61c2b5e..5c5940b 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -10,7 +10,10 @@ "lint": "eslint .", "typecheck": "tsc --noEmit", "clean": "rm -rf .next .turbo node_modules", - "generate:types": "payload generate:types" + "generate:types": "payload generate:types", + "payload": "payload", + "migrate:create": "payload migrate:create", + "ci": "payload migrate && next build" }, "dependencies": { "@advdoors/shared": "workspace:*", diff --git a/apps/web/src/migrations/index.ts b/apps/web/src/migrations/index.ts new file mode 100644 index 0000000..35f7867 --- /dev/null +++ b/apps/web/src/migrations/index.ts @@ -0,0 +1 @@ +export const migrations = []; diff --git a/apps/web/src/payload.config.ts b/apps/web/src/payload.config.ts index 2e76962..be2b05c 100644 --- a/apps/web/src/payload.config.ts +++ b/apps/web/src/payload.config.ts @@ -6,6 +6,7 @@ import { lexicalEditor } from "@payloadcms/richtext-lexical"; import { s3Storage } from "@payloadcms/storage-s3"; import sharp from "sharp"; +import { migrations } from "./migrations"; import { Products } from "./collections/Products"; import { Categories } from "./collections/Categories"; import { Orders } from "./collections/Orders"; @@ -43,6 +44,7 @@ export default buildConfig({ pool: { connectionString: process.env.DATABASE_URI || "", }, + prodMigrations: migrations, }), sharp, diff --git a/justfile b/justfile index a33c3b4..c0a7c34 100644 --- a/justfile +++ b/justfile @@ -58,6 +58,14 @@ llm-process: import-processed: pnpm --filter @advdoors/scraper import:processed +# Create a new database migration (requires dev services running) +migrate-create: + pnpm --filter @advdoors/web migrate:create + +# Run pending migrations against dev database +migrate: + pnpm --filter @advdoors/web payload migrate + # Build all packages build: pnpm turbo build