Manual:Coding conventions/Database/ja

このページでは、MediaWiki コードベースの、データベースで使用するために作成されたファイル内で使用されるコーディング規約を説明します. データベースを含むすべてのプログラム言語に適用される全般的な規約も参照してください. コミットの確認に役立つ短いチェックリストが必要な場合は、 を使用してみてください.

MySQL/MariaDB
MySQL/MariaDB キーワードには大文字を使用し、型などには小文字を使用します. 数値型の長さは指定しないでください. および の型には指定してください. タイムスタンプにはすべて を使用し、 を使用してそれらを標準形式に構文解析します. フィールド型は使用しないでください.

テーブル名の直前に コメントを必ず含めてください. これは、必要に応じてウィキのデータベース接頭辞に置換されるため、省略すると破損の原因になります. 同様に、テーブル宣言の後に コメントを、インデックス名の直前に  を含めます.

インデックスの作成は個別のステートメントとして記述し、テーブル作成クエリに含めないでください. 個別の構文がより明確になり、一意のインデックスと一意ではないインデックスの違いを簡単に確認できます. インデックスの作成には を使用せず、代わりに常に  を使用してください.

すべての新しいテーブルには が必要で、できれば単一の  ID が必要です.

SQLite
SQLite は MySQL/MariaDB と同じ SQL を使用するため、SQL は両方と互換性がある必要があります. 通常、これは Manual:データベース アクセス#SQLite の互換性に記載されているいくつかの単純なルールで実現できます.

テーブルの命名

 * テーブル名は単数名詞でなければなりません:,  ,   など いくつかの歴史的な例外があります:  ,  …
 * カラム名には、テーブル名から派生した接頭辞が付けられます. 短い場合はテーブル名そのもの、または省略形です:

スキーマの変更
開発ポリシー#データベース パッチ、特に Special:Diff/537762/prev を参照してください.

拡張機能のスキーマを更新する際は、元のスキーマ ファイルを更新することと、以前のバージョンから更新するパッチ ファイルを作成することの両方をお勧めします.