Back to list
atilladeniz

database-migration

by atilladeniz

Full-stack monorepo: Next.js 16 (App Router) + Go (Clean Architecture) + PostgreSQL + Better Auth + TanStack Query + Orval + Goca CLI + shadcn/ui + Tailwind CSS 4

0🍴 0📅 Jan 12, 2026

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

Score

Total Score

65/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon