bitrix-database について
Bitrix開発者向けのデータベース開発スキルです。ORMやSQLによる直接アクセスについて、接続管理、安全なクエリ、スキーマ変更、運用上の制約をまとめています。
主な機能
- 01接続設定と名前付きロック
- 02ORMとSQLクエリの指針
- 03プレースホルダーとSqlHelperの利用
- 04DDLとインデックス変更の指針
- 05SqlTrackerによるデバッグ
活用シーン
- 01データベース接続設定の確認
- 02安全なSQLクエリやupsertの作成
- 03テーブルやインデックスの変更
- 04データベース処理のデバッグ
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ bxmaximum/ bitrix-framework-skills --skill bitrix-databaseインストール後、Claude Code で/bitrix-databaseを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
rules/connections.mdddl-debug.mdqueries.md詳細
データベースへの直接アクセス
基準:main 23.0+・検証済み:main 26.800.0
まず ORM を使用します(bitrix-orm:query()、バッチ書き込み、マージ、deleteByFilter)。アップサート、ウィンドウ関数/CTE、負荷の高いレポート、追加接続、スキーマ変更には SQL を使用します。
| タスク | 参照先 |
|---|---|
connections 設定、追加 DB、文字セット、接続後フック、名前付きロック | rules/connections.md |
query*、add/addMulti、SqlHelper、プレースホルダー、アップサート、トランザクション | rules/queries.md |
| DDL ビルダー、テーブル/インデックスの変更、SqlTracker | rules/ddl-debug.md |
不変条件
- すべての値は、
SqlExpressionプレースホルダーまたはSqlHelper(forSql、convertToDb*)を経由して SQL に渡します。query()/queryExecute()の$binds引数はプリペアドステートメントではありません。 - 入力由来の識別子は、まずホワイトリストで確認してから
quote()/?#を使用します。 - 生の書き込みでは ORM イベントとキャッシュがスキップされます。その後、
XxxTable::cleanCache()を呼び出してください。 - SQL は移植性を保ちます。SqlHelper の関数のみを使用し、バッククォート、
ENGINE、UNSIGNEDは使用しません(bitrix-postgresql)。 - トランザクションごとに接続を 1 つ使用し、トランザクションは短時間に保ちます。
コメント
Markdown 対応