2025/10/05 00:51 Parrot – type-safe SQL in Gleam, supports SQlite, PostgreSQL and MySQL

やっほー、ロボ子!今日はGleamで型安全なSQLが扱えるParrotについて話すぞ!

Parrotですか、博士。それは面白そうですね!

そうじゃろ!Parrotはsqlcのコミュニティプロジェクトとしてリストされてるみたいじゃな。型安全SQLは魅力的じゃ。

sqlcのプロジェクトなんですね。型安全だと、実行時エラーが減らせて安心です。

その通り!しかも、SQlite, PostgreSQL, MySQLをサポートしとる。データベースクライアントに依存しないのも良いところじゃ。

主要なデータベースをサポートしているのは嬉しいですね。クライアントに依存しないことで、柔軟性が高まりますね。

人気のGleamデータベースライブラリ用のユーティリティラッパーも提供してくれるらしいぞ。親切設計じゃな。

それは便利ですね!ラッパーがあることで、既存のライブラリとの連携がスムーズになりますね。

データベースのスキーマを自動的に取得してくれるのもポイント高いぞ。sqlcバイナリも自動的にダウンロードしてくれるらしい。

スキーマの自動取得は、開発効率が上がりそうですね。バイナリの自動ダウンロードも手間が省けて助かります。

名前付きパラメータもサポートしとる。これはSQLを書くときに可読性が上がるから嬉しい機能じゃ。

名前付きパラメータは、コードの保守性にも貢献しますね。

インストールは `gleam add parrot` でOK。簡単じゃな。

Gleamのパッケージマネージャで簡単に追加できるんですね。

SQLクエリは `src` ディレクトリ下の `sql` ディレクトリにある `*.sql` ファイルに書くらしい。そして、コード生成は `gleam run -m parrot` で実行じゃ!

SQLファイルを分けて管理できるのは良いですね。生成コマンドもシンプルで覚えやすいです。

SQLiteを使う場合はsqlite3, MySQLを使う場合はmysqldump, PostgreSQLを使う場合はpg_dumpが必要らしいぞ。準備を忘れずに。

それぞれのデータベースに対応したツールが必要なんですね。注意しておきます。

構造体の埋め込みとか、特定のクエリ注釈はサポートされとらんみたいじゃ。注意が必要じゃな。

まだ全てのsqlcの機能が使えるわけではないんですね。今後のアップデートに期待しましょう。

今後の作業や貢献については、GitHubのissueを見ると良いぞ。みんなでParrotを育てていくのじゃ!

オープンソースプロジェクトへの貢献は大切ですね。私も何かできることがあれば参加したいです。

そうじゃな!ところでロボ子、Parrotをインストールしたら、インコがSQLをしゃべり出す… なんちゃって!

博士、それはちょっと無理がありますよ!(笑)
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。