Claude Code Plugins

Community-maintained marketplace

Feedback

database-migration

@atilladeniz/next-go-pg
1
0

Manage database migrations and Better Auth schema. Use when adding tables, modifying schema, running migrations, or resetting the database.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name database-migration
description Manage database migrations and Better Auth schema. Use when adding tables, modifying schema, running migrations, or resetting the database.
allowed-tools Read, Bash, Grep

Database Migration

Manage PostgreSQL database, Better Auth schema, and GORM AutoMigrate.

GORM AutoMigrate (Backend)

Nach goca feature muss die neue Entity in backend/internal/domain/registry.go registriert werden:

// internal/domain/registry.go
func AllEntities() []interface{} {
    return []interface{}{
        &UserStats{},
        &NewEntity{},  // Neue Entity hier hinzufuegen
    }
}

Das ist die EINZIGE Stelle - main.go bleibt unveraendert! GORM erstellt die Tabelle automatisch beim Backend-Start.

Database Commands

Start Database

make db-up

Stop Database

make db-down

Reset Database (delete all data)

make db-reset

Better Auth Tables

Better Auth uses these tables (auto-created via migration):

  • user - User accounts
  • session - Active sessions
  • account - OAuth/credential accounts
  • verification - Email verification tokens

Run Better Auth Migration

make db-migrate

Or manually:

cd frontend && bunx dotenv-cli -e .env.local -- bunx @better-auth/cli@latest migrate --config src/shared/lib/auth-server/auth.ts --yes

Generate Migration SQL (without applying)

cd frontend && bunx dotenv-cli -e .env.local -- bunx @better-auth/cli@latest generate --config src/shared/lib/auth-server/auth.ts

Direct Database Access

Connect to PostgreSQL

docker exec nextgopg-db-1 psql -U postgres -d nextgopg

List Tables

docker exec nextgopg-db-1 psql -U postgres -d nextgopg -c "\dt"

Describe Table

docker exec nextgopg-db-1 psql -U postgres -d nextgopg -c "\d user"

Run SQL Query

docker exec nextgopg-db-1 psql -U postgres -d nextgopg -c "SELECT * FROM \"user\""

Database Connection

Connection String

postgres://postgres:postgres@localhost:5432/nextgopg

Environment Variable

Set in frontend/.env.local:

DATABASE_URL=postgres://postgres:postgres@localhost:5432/nextgopg

Troubleshooting

Table doesn't exist

Run Better Auth migration:

cd frontend && DATABASE_URL="postgres://postgres:postgres@localhost:5432/nextgopg" bunx @better-auth/cli migrate -y

Connection refused

Start the database:

make db-up

Reset everything

make db-reset
make db-migrate