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.
From sql-to-oscnpx claudepluginhub dennisliuck/claude-plugin-marketplace --plugin sql-to-oscThis skill uses the workspace's default tool permissions.
Convert Flyway SQL migration scripts to OSC format following project conventions.
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 |
src/main/resources/db/migration/USE and ALTER TABLE wrappersNULL → DEFAULT NULLCREATE INDEX...ON table → ADD INDEX...{db}\t{table}\t{op1},{op2},...;src/main/resources/db/osc/osc-{YYYYMMDD}.txt (e.g., osc-20251212.txt)\n)\t) between columns,) joined, NO space after comma;)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);
✓ 轉換完成
來源: {source_file}
輸出: src/main/resources/db/osc/osc-{YYYYMMDD}.txt
影響資料表: {tables}
操作統計:
- ADD COLUMN: {count}
- ADD INDEX: {count}
- MODIFY COLUMN: {count}