From 34077c280ec3df76db8dec5eb20a88edebd77037 Mon Sep 17 00:00:00 2001 From: Martin Porwoll Date: Tue, 16 Dec 2025 15:36:03 +0000 Subject: [PATCH] fix(ci): use drizzle-kit push instead of migrations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Drop and recreate schema using drizzle-kit push - Add drizzle.ci.config.ts for CI database setup - This ensures the generated schema is used directly 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .github/workflows/ci.yml | 24 ++++++++++++------------ drizzle.ci.config.ts | 10 ++++++++++ 2 files changed, 22 insertions(+), 12 deletions(-) create mode 100644 drizzle.ci.config.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 225a6be..79dd4f5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -129,12 +129,12 @@ jobs: - name: Setup Database Schema run: | echo "Testing database connection..." - PGPASSWORD=payload_test_password psql -h localhost -U payload -d payload_test -c "SELECT 1;" || echo "DB connection failed" - echo "Running migrate:reset..." - pnpm exec payload migrate:reset --force || echo "Reset had issues" - echo "Running migrate..." - pnpm exec payload migrate || echo "Migrate had issues" - echo "Migration completed." + PGPASSWORD=payload_test_password psql -h localhost -U payload -d payload_test -c "SELECT 1;" + echo "Dropping existing tables..." + PGPASSWORD=payload_test_password psql -h localhost -U payload -d payload_test -c "DROP SCHEMA public CASCADE; CREATE SCHEMA public;" + echo "Creating schema from generated file..." + pnpm exec drizzle-kit push --config=./drizzle.ci.config.ts --force + echo "Schema created." timeout-minutes: 5 env: CI: true @@ -271,12 +271,12 @@ jobs: - name: Setup Database Schema run: | echo "Testing database connection..." - PGPASSWORD=payload_test_password psql -h localhost -U payload -d payload_test -c "SELECT 1;" || echo "DB connection failed" - echo "Running migrate:reset..." - pnpm exec payload migrate:reset --force || echo "Reset had issues" - echo "Running migrate..." - pnpm exec payload migrate || echo "Migrate had issues" - echo "Migration completed." + PGPASSWORD=payload_test_password psql -h localhost -U payload -d payload_test -c "SELECT 1;" + echo "Dropping existing tables..." + PGPASSWORD=payload_test_password psql -h localhost -U payload -d payload_test -c "DROP SCHEMA public CASCADE; CREATE SCHEMA public;" + echo "Creating schema from generated file..." + pnpm exec drizzle-kit push --config=./drizzle.ci.config.ts --force + echo "Schema created." timeout-minutes: 5 env: CI: true diff --git a/drizzle.ci.config.ts b/drizzle.ci.config.ts new file mode 100644 index 0000000..38d382e --- /dev/null +++ b/drizzle.ci.config.ts @@ -0,0 +1,10 @@ +import { defineConfig } from 'drizzle-kit' + +export default defineConfig({ + schema: './src/payload-generated-schema.ts', + out: './drizzle', + dialect: 'postgresql', + dbCredentials: { + url: process.env.DATABASE_URI || 'postgresql://payload:payload_test_password@localhost:5432/payload_test', + }, +})