Search

PythonReactSEOPDF
GitHub Skill

sql-to-osc

SQL to OSC (Online Schema Change) conversion expert for Flyway migration scripts. Use when: (1) Converting SQL migration files to OSC format, (2) User mentions "OSC", "轉換 OSC", "osc.txt", or "Online Schema Change", (3) Working with Flyway ALTER TABLE/CREATE INDEX statements that need OSC conversion.

aiskillstore☆ 124 Repository stars6 Repository forks

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

View source ↗Guides

Skill instructions

SQL to OSC Conversion Expert

Convert Flyway SQL migration scripts to OSC format following project conventions.

Quick Reference

OSC Format: {database}<TAB>{table}<TAB>{operations};

SQL OSC
USE db; Remove (db in column 1)
ALTER TABLE tbl Remove (tbl in column 2)
NULL DEFAULT NULL
CREATE INDEX idx ON tbl (col) ADD INDEX idx (col)
varchar VARCHAR
Multiple operations Comma-joined, no space

Conversion Workflow

  1. Read source SQL from src/main/resources/db/migration/
  2. Parse statements: Extract database, table, operations
  3. Transform:
    • Remove USE and ALTER TABLE wrappers
    • Convert NULL → DEFAULT NULL
    • Convert CREATE INDEX...ON table → ADD INDEX...
    • Uppercase data types
  4. Format output: {db}\t{table}\t{op1},{op2},...;
  5. Write to src/main/resources/db/osc/osc-{YYYYMMDD}.txt (e.g., osc-20251212.txt)

Output Requirements

  • Encoding: UTF-8 (no BOM)
  • Line ending: LF (\n)
  • Separator: TAB (\t) between columns
  • Operations: Comma (,) joined, NO space after comma
  • Line ending: Semicolon (;)

Example

Input (V1.0__alter_my_table.sql):

USE mydb;

ALTER TABLE MY_TABLE
    ADD COLUMN NEW_COL bigint(20) NULL AFTER EXISTING_COL;

CREATE INDEX MY_TABLE_NEW_COL_IDX ON MY_TABLE (NEW_COL);

Output (osc-{YYYYMMDD}.txt):

mydb	MY_TABLE	ADD COLUMN NEW_COL BIGINT(20) DEFAULT NULL AFTER EXISTING_COL,ADD INDEX MY_TABLE_NEW_COL_IDX (NEW_COL);

Conversion Summary Template

✓ 轉換完成

來源: {source_file}
輸出: src/main/resources/db/osc/osc-{YYYYMMDD}.txt

影響資料表: {tables}
操作統計:
  - ADD COLUMN: {count}
  - ADD INDEX: {count}
  - MODIFY COLUMN: {count}

Examples

Read the usage examples in the source repository.

View source ↗

Source history

Indexed on
2026-01-20
Index updated
2026-01-28
Branch
main

Index and sync dates describe this directory. View the source repository for code history.

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!