mcpField
F
faasjs-pg

faasjs-pg

github.com/faasjsデータ・データベース120187 回インストール10 週間前に更新
リポジトリ

faasjs-pg について

faasjs-pgは、FaasJSプロジェクトでPostgreSQLを扱うためのスキルです。型付きクエリ、スキーマ移行、トランザクション、データベーステストの指針を示します。

主な機能

  1. 01型付きQueryBuilderの指針
  2. 02スキーマと移行の実践方法
  3. 03トランザクションとロックの指針
  4. 04数値型境界の指針
  5. 05PostgreSQLテストの実践方法

活用シーン

  1. 01型付きPostgreSQLクエリの設計
  2. 02可逆なスキーマ移行の計画
  3. 03トランザクションとロック動作のテスト

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/faasjs/faasjs --skill faasjs-pg

インストール後、Claude Code で/faasjs-pgを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/guidelines/
pg-numeric-boundaries.md
pg-query-builder.md
pg-schema-and-migrations.md
pg-table-types.md
pg-testing.md
pg-transactions-and-locking.md

詳細

FaasJS PostgreSQL

デフォルトのワークフロー

  1. テーブル宣言、マイグレーション、クエリ、テストの整合性を保ちます。
  2. 生の SQL よりも、型付けされた QueryBuilder の句を優先します。
  3. 生の SQL の値はパラメーター化し、信頼できる境界を明確にします。
  4. マイグレーションは決定的で、辞書順に並べ替え可能にし、可能な限り取り消し可能にします。
  5. クエリの型推論が動作の一部である場合は、実行時のデータベースアサーションと型アサーションを組み合わせます。
  6. アトミック性や行ロックが重要な場合は、明示的なトランザクションと並行性テストを使用します。

これらのリファレンスを読み込む

  • Tables の宣言マージと具体的な行の形状:references/guidelines/pg-table-types.md。
  • QueryBuilder、エイリアス、生の SQL、更新式、returning、エッジケースの動作:references/guidelines/pg-query-builder.md。
  • トランザクションモード、トランザクションクライアントのライフタイム、行ロック、再試行の責務、並行性テスト:references/guidelines/pg-transactions-and-locking.md。
  • TypeScript と API の境界をまたぐ正確な numeric、decimal、bigint の値:references/guidelines/pg-numeric-boundaries.md。
  • タイムスタンプ付きマイグレーション、SchemaBuilder、TableBuilder、スキーマ実行:references/guidelines/pg-schema-and-migrations.md。
  • PgVitestPlugin()、共有マイグレーションスナップショット、ファイル単位のデータベース分離、DATABASE_URL、expectTypeOf(...):references/guidelines/pg-testing.md。

注意事項

  • クエリの型推論の信頼できる情報源として、Tables の宣言を扱います。
  • 生の SQL は意図的に使用し、繰り返し使う生の SQL は共有ヘルパーまたはビルダーの句に置き換えます。
  • 書き込みクエリとトランザクションは、呼び出し元のスコープと想定されるエラー処理で保護します。トランザクションクライアントをコールバックの外に持ち出してはいけません。
  • 遅延グローバルセットアップは PgVitestPlugin() に任せます。このプラグインは実行単位のスナップショットを一度マイグレーションし、データベースを使用する各テストファイルに分離されたクローンを提供します。
  • トランザクションで enqueueJob も呼び出す場合は、FaasJS API And Jobs を読み込み、業務データとジョブ行の両方がロールバックされることをテストします。
  • マイグレーションおよび PG 統合テストのコマンドには DATABASE_URL が必要です。

検証

  • スキーマ変更のマイグレーション検証が必要で、DATABASE_URL が利用可能な場合は、npx faasjs-pg migrate を実行します。
  • 対象を絞った PG テストは vp test <pattern> で実行します。
  • 型に依存するクエリの動作を変更する場合は、expectTypeOf(...) を含めます。
  • ロックや並行性の動作には、実際に重複するトランザクションを使用します。生成 SQL のアサーションだけでは不十分です。

コメント