萌えハッカーニュースリーダー

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

博士、それはちょっと無理がありますよ!(笑)

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search