一键导入
deprecated-flyway-migration
Database migration patterns using Flyway with versioned SQL scripts
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Database migration patterns using Flyway with versioned SQL scripts
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Gi nye apper tilgang til Lumi feedback — ruter Azure via proxy og TokenX direkte til API
Exposed 1.0.0 JDBC DSL patterns (imports, transactions, queries, raw SQL, and types)
Sealed class configuration pattern for Kotlin applications with environment-specific settings
Setting up Prometheus metrics, OpenTelemetry tracing, and health endpoints for Nais applications
Responsive layout patterns using Aksel spacing tokens with Box, VStack, HStack, and HGrid
Observability setup for lumi-dashboard (TanStack Start/Node.js) on Nais
| name | deprecated-flyway-migration |
| description | Database migration patterns using Flyway with versioned SQL scripts |
DEPRECATED: use
.github/skills/flyway-migration/skill.mdat repo root.
This skill provides patterns for managing database schema changes with Flyway.
db/migration/V{version}__{description}.sql
Examples:
V1__Initial_schema.sqlV2__Text_themes.sqlV3__add_star_column.sql-- V1__Initial_schema.sql
CREATE TABLE IF NOT EXISTS feedback
(
id VARCHAR DEFAULT gen_random_uuid() PRIMARY KEY,
opprettet TIMESTAMPTZ NOT NULL,
feedback_json TEXT NOT NULL,
team VARCHAR(255) NOT NULL,
app VARCHAR(255) NOT NULL,
tags TEXT NULL
);
CREATE INDEX IF NOT EXISTS idx_feedback_opprettet ON feedback(opprettet);
CREATE INDEX IF NOT EXISTS idx_feedback_team ON feedback(team);
CREATE INDEX IF NOT EXISTS idx_feedback_team_app ON feedback(team, app);
-- V3__add_star_column.sql
ALTER TABLE feedback ADD COLUMN stjerne BOOLEAN NOT NULL DEFAULT FALSE;
CREATE INDEX IF NOT EXISTS idx_feedback_stjerne ON feedback(stjerne);
Avoid CREATE INDEX CONCURRENTLY unless you intentionally configure Flyway to run that migration non-transactionally.
Follow V2__Text_themes.sql in this repo for a “new table + indexes” example.
-- V5__set_default_status.sql
UPDATE users
SET status = 'active'
WHERE status IS NULL;
ALTER TABLE users
ALTER COLUMN status SET NOT NULL;
import org.flywaydb.core.Flyway
import com.zaxxer.hikari.HikariConfig
import com.zaxxer.hikari.HikariDataSource
fun createDataSource(jdbcUrl: String): HikariDataSource {
val config = HikariConfig().apply {
this.jdbcUrl = jdbcUrl
username = System.getenv("DATABASE_USERNAME")
password = System.getenv("DATABASE_PASSWORD")
maximumPoolSize = 5
minimumIdle = 1
idleTimeout = 60000
maxLifetime = 600000
}
return HikariDataSource(config)
}
fun runMigrations(dataSource: HikariDataSource) {
Flyway.configure()
.dataSource(dataSource)
.locations("classpath:db/migration")
.load()
.migrate()
}
// In main()
fun main() {
val dataSource = createDataSource(env.databaseUrl)
runMigrations(dataSource)
logger.info("Database migrations completed")
}