jpskill.com
💬 コミュニケーション コミュニティ

sql-to-osc

FlywayのSQLマイグレーションスクリプトを、オンラインスキーマ変更(OSC)に対応した形式に変換し、ALTER TABLEやCREATE INDEX文を含むSQLファイルを効率的にOSC形式へ変換するSkill。

📜 元の英語説明(参考)

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.

🇯🇵 日本人クリエイター向け解説

一言でいうと

FlywayのSQLマイグレーションスクリプトを、オンラインスキーマ変更(OSC)に対応した形式に変換し、ALTER TABLEやCREATE INDEX文を含むSQLファイルを効率的にOSC形式へ変換するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o sql-to-osc.zip https://jpskill.com/download/18615.zip && unzip -o sql-to-osc.zip && rm sql-to-osc.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/18615.zip -OutFile "$d\sql-to-osc.zip"; Expand-Archive "$d\sql-to-osc.zip" -DestinationPath $d -Force; ri "$d\sql-to-osc.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して sql-to-osc.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → sql-to-osc フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

SQL to OSC 変換エキスパート

Flyway SQL マイグレーションスクリプトを、プロジェクトの規約に従って OSC 形式に変換します。

クイックリファレンス

OSC 形式: {database}<TAB>{table}<TAB>{operations};

SQL OSC
USE db; 削除 (1列目の db)
ALTER TABLE tbl 削除 (2列目の tbl)
NULL DEFAULT NULL
CREATE INDEX idx ON tbl (col) ADD INDEX idx (col)
varchar VARCHAR
複数の操作 カンマ区切り、スペースなし

変換ワークフロー

  1. ソース SQL を読み込む: src/main/resources/db/migration/ から
  2. ステートメントを解析: データベース、テーブル、操作を抽出
  3. 変換:
    • USE および ALTER TABLE ラッパーを削除
    • NULLDEFAULT NULL に変換
    • CREATE INDEX...ON tableADD INDEX... に変換
    • データ型を大文字に変換
  4. 出力形式: {db}\t{table}\t{op1},{op2},...;
  5. 書き込み先: src/main/resources/db/osc/osc-{YYYYMMDD}.txt (例: osc-20251212.txt)

出力要件

  • エンコーディング: UTF-8 (BOM なし)
  • 改行コード: LF (\n)
  • 区切り文字: 列間は TAB (\t)
  • 操作: カンマ (,) で結合、カンマの後にスペースなし
  • 行末: セミコロン (;)

入力 (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);

出力 (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}
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

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 NULLDEFAULT NULL
    • Convert CREATE INDEX...ON tableADD 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}