{"id":27969217,"url":"https://github.com/future-architect/uroborosql-formatter","last_synced_at":"2025-05-07T21:09:06.694Z","repository":{"id":58344926,"uuid":"79419463","full_name":"future-architect/uroboroSQL-formatter","owner":"future-architect","description":"Beautiful SQL Formatter","archived":false,"fork":false,"pushed_at":"2022-09-26T03:20:19.000Z","size":26165,"stargazers_count":39,"open_issues_count":6,"forks_count":12,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-05-07T21:08:56.908Z","etag":null,"topics":["formatter","formatting","sql"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/future-architect.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-19T05:39:01.000Z","updated_at":"2024-08-01T13:04:31.000Z","dependencies_parsed_at":"2023-01-18T23:15:46.527Z","dependency_job_id":null,"html_url":"https://github.com/future-architect/uroboroSQL-formatter","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/future-architect%2FuroboroSQL-formatter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/future-architect%2FuroboroSQL-formatter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/future-architect%2FuroboroSQL-formatter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/future-architect%2FuroboroSQL-formatter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/future-architect","download_url":"https://codeload.github.com/future-architect/uroboroSQL-formatter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252954409,"owners_count":21830905,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["formatter","formatting","sql"],"created_at":"2025-05-07T21:09:06.087Z","updated_at":"2025-05-07T21:09:06.677Z","avatar_url":"https://github.com/future-architect.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![uroboroSQL formatter](image/uroboroSQLformatter_logo.png)\n\n# uroboroSQL formatter\n\n\n* SublimeText3  \n[![Package Control](https://img.shields.io/github/release/future-architect/Sublime-uroboroSQL-formatter.svg?label=package%20control) ![Package Control](https://img.shields.io/packagecontrol/dt/uroboroSQL%20Formatter.svg)](https://packagecontrol.io/packages/uroboroSQL%20Formatter)    \n* IntelliJ   \n[![JetBrains plugins](https://img.shields.io/jetbrains/plugin/v/9614.svg) ![JetBrains plugins](https://img.shields.io/jetbrains/plugin/d/9614.svg)](https://plugins.jetbrains.com/plugin/9614)   \n* Eclipse  \n[![Eclipse Marketplace](https://img.shields.io/eclipse-marketplace/v/eclipse-uroborosql-formatter.svg) ![Eclipse Marketplace](https://img.shields.io/eclipse-marketplace/dt/eclipse-uroborosql-formatter.svg)](https://marketplace.eclipse.org/content/eclipse-uroborosql-formatter)  \n[![Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client](https://marketplace.eclipse.org/sites/all/themes/solstice/public/images/marketplace/btn-install.png)](http://marketplace.eclipse.org/marketplace-client-intro?mpc_install=3434118 \"Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client\")    \n\n\nuroboroSQL formatterは、フューチャーアーキテクトが作成するSQLコーディング規約に従い、SQL文を整形するツールです。  \nSQL文のインデント、改行、大文字・小文字の区分などを即時変換し、可読性・管理性を高めます。\n\n[uroboroSQL](https://github.com/future-architect/uroborosql)のために作られたものですが、DBFluteやDOMAといった2Way-SQLをサポートするライブラリをお使いの方でも利用できます。\n\n## 利用方法\n\n### 利用例\n\nPython:\n```python\nimport uroborosqlfmt\n\nsql = u\"\"\"\nselect column1 as column1, --column1\ncolumn2 as column2 --column2\n,long_column_3 as long_column_3 --column3\nfrom foo_table --table\nwhere column1 = 'sample' --column1\nand long_column_3 is not null\n\"\"\"\n\nformatted = uroborosqlfmt.format_sql(sql)\n\nprint(formatted)\n```\n出力結果:\n```text\nSELECT\n\tCOLUMN1\t\t\tAS\tCOLUMN1\t\t\t-- column1\n,\tCOLUMN2\t\t\tAS\tCOLUMN2\t\t\t-- column2\n,\tLONG_COLUMN_3\tAS\tLONG_COLUMN_3\t-- column3\nFROM\n\tFOO_TABLE\t-- table\nWHERE\n\tCOLUMN1\t\t\t=\t'sample'\t-- column1\nAND\tLONG_COLUMN_3\tIS\tNOT NULL\n```\n\nuroboroSQL formatterはPython 2.7 および 3（3.5+）上で利用できます。  \nuroboroSQL formatter is compatible with Python versions 2.7 and 3 (3.5+).  \n\n### SublimeText3のプラグインの利用\n\n`Package Control`の`Install Package`から  \n**uroboroSQL Formatter**を検索しInstallを行ってください。\n\n設定方法や、利用方法は下記のgithubリポジトリのREADMEをご覧ください。  \n\n[Sublime-uroboroSQL-formatter](https://github.com/future-architect/Sublime-uroboroSQL-formatter)  \n[日本語Readme](https://github.com/future-architect/Sublime-uroboroSQL-formatter/blob/master/Readme.ja.md)\n\n### EXEファイルの実行\n\n[release](https://github.com/future-architect/uroboroSQL-formatter/releases)から`usqlfmt.exe`をダウンロードし任意のフォルダに配置してください。\n\nNote: 開発中の最新版を試したい場合は[bin](https://github.com/future-architect/uroboroSQL-formatter/tree/bin)ブランチからバイナリを取得してください。\n\n#### EXEファイルの実行方法\n\n1. コマンドプロンプトにて「usqlfmt.exe」があるフォルダまで移動します。\n1. 下記の実行引数を入力しEnterを押下します。\n※引数とファイルパスは適切に変更してください。\n\n#### 実行引数\n\n```bash\nusqlfmt.exe input_path output_path\n```\n\n```text\nusage: usqlfmt [-h] [-v] [-m {file,directory}] [-N] [-B]\n               [-c {uroborosql,doma2,uroboro,doma}]\n               [-r reserved_words_file_path]\n               input_path output_path\n\nuroboroSQL formatter API\n\npositional arguments:\n  input_path            整形したいファイルのファイルパス、または、ディレクトリパスを指定する。\n  output_path           整形後の成果物を保存するパスを指定する。\n\noptional arguments:\n  -h, --help            ヘルプを表示する.\n  -v, --version         versionを表示する.\n  -m {file,directory}, --mode {file,directory}\n                        １つのファイルを対象に整形するか(file)、指定ディレクトリ配下の全ファイルを対象に整形するか(directory)を選択する.指定しない場合\"file\"として処理する\n  -N, --nochange_case   予約語と識別子を大文字に変換しない.\n  -B, --escapesequence_u005c\n                        SQLでバックスラッシュによるエスケープシーケンスを使用している.\n  -c {uroborosql,doma2,uroboro,doma}, --comment_syntax {uroborosql,doma2,uroboro,doma}\n                        コメントのシンタックス形式を選択する.\n  -r reserved_words_file_path, --reserved_words_file_path reserved_words_file_path\n                        予約語一覧ファイルに存在する予約語のみを大文字変換するオプション.\n                        予約語一覧ファイルのファイルパスを指定する.\n                        なお、予約語のみを大文字にしたい場合は「-N」オプション指定せず、当オプションを指定すること。\n                        （予約語一覧ファイルはユーザーが提供すること.また、予約語一覧は「改行区切り」とすること.）\n```\n\n#### 予約語一覧ファイルの例\n\n予約語一覧は「改行区切り」とすること：\n```text\nSELECT\nINSERT\nFROM\nAS\n・・・\n・・・\n```\n\n#### 例\n\n1つのファイルを対象に整形する場合:\n```text\nusqlfmt.exe -m file C:/Documents/sqlfiles/inputfiles/test.sql C:/Documents/sqlfiles/output/files\n```\n\nディレクトリを対象に整形する場合（複数ファイル指定）:\n```text\nusqlfmt.exe -m directory C:/Documents/sqlfiles/inputfiles C:/Documents/sqlfiles/output/files\n```\n\n1つのファイルを対象に整形するとともに、予約語のみ大文字に変換する場合:\n```text\nusqlfmt.exe -m file C:/Documents/sqlfiles/inputfiles/test.sql C:/Documents/sqlfiles/output/files -r C:/Documents/sqlfiles/reserved_words_list.txt\n```\n\n## 関連情報\n\n### uroboroSQL\n\n* https://github.com/future-architect/uroborosql\n\n### Future Enterprise Coding Standards\n* https://future-architect.github.io/coding-standards/\n\n### フューチャーアーキテクト株式会社\n* http://www.future.co.jp/  \n\n### フューチャーアーキテクト開発者ブログ - Tech Blog\n* https://future-architect.github.io/  \n\n## ライセンス\n[LICENSE](https://github.com/future-architect/uroboroSQL-formatter/blob/master/LICENSE)をご参照ください。\n\n---\n\n[python-sqlparse library](https://github.com/andialbrecht/sqlparse) and this code are both on [3-Clause BSD](https://opensource.org/licenses/BSD-3-Clause)  \n[enum34 library](https://bitbucket.org/stoneleaf/enum34) and this code are both on [3-Clause BSD](https://opensource.org/licenses/BSD-3-Clause)  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffuture-architect%2Furoborosql-formatter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffuture-architect%2Furoborosql-formatter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffuture-architect%2Furoborosql-formatter/lists"}