Manual:SQL パッチ ファイル

This page is a translated version of the page Manual:SQL patch file and the translation is 100% complete.

コア (開発の方針#データベースのパッチManual:DatabaseUpdater.php を参照) または拡張機能 (Manual:Hooks/LoadExtensionSchemaUpdates を参照) のスキーマ変更用に SQL ファイルを記述できます。 データベースの全般的なコーディング規約も参照してください。

テーブルを作成するための SQL ファイルは、以下のようになるでしょう:

CREATE TABLE /*_*/foo_bar(
-- Primary key
fb_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT,
-- user.user_id of the user who foobared the wiki
fb_user int unsigned NOT NULL,
-- user.user_text of the user who foobared the wiki
fb_user_text varchar(255),
-- Timestamp of when the wiki was foobared
fb_timestamp varbinary(14) NOT NULL default NULL ''
)/*$wgDBTableOptions*/;

CREATE INDEX /*i*/fb_user ON /*_*/foo_bar (fb_user);
CREATE INDEX /*i*/fb_user_text ON /*_*/foo_bar (fb_user_text);

変数の置換

最初の 2 つは、上記の例のように、パッチ ファイルで使用する必要があります。

  • /*_*/$wgDBprefix に置換されます。
  • /*i*/ はインデックスの識別に使用されるため、インデックス別名システムを介してその名前を変更できます。 (これは少数のコア テーブルでのみ使用され、MediaWiki 1.35 で除去されたため、実際には違いはありません。)
  • /*$wgDBTableOptions*/$wgDBTableOptions の値に置換されます。
  • /*$wgDBTableOptions*/MySQL データベース バックエンドにのみ使用されます。

他にも変数の置換がありますが、実際には使用されません。 完全な一覧は、Database::replaceVars() の説明文書を参照してください。

外部リンク