PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

データベースの更新 | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

データベースの更新

データベースの更新 – 新たなスキーマによるデータベースの更新

データベースの更新

スキーマファイルに手を加えた際に MDB2_Schema でデータベースを更新するのは、とても簡単なことです。 現在のデータベーススキーマを取得するために getDefinitionFromDatabase() メソッドを用い、次に updateDatabase() で更新を行います。 しかし、実際に実行する前に getDefinitionFromDatabase() が期待通りの結果を返していることを確認することを忘れないでください。 詳細な情報は、それぞれ対応する章を参照ください。

<?php
require_once 'MDB2/Schema.php';

$options = array(
    
'log_line_break' => '<br>',
    
'idxname_format' => '%s',
    
'debug' => true,
    
'quote_identifier' => true,
    
'force_defaults' => false,
    
'portability' => false
);
$dsn 'mysql://root:@localhost/MDB2Example';

$schema =& MDB2_Schema::factory($dsn$options);

if (
PEAR::isError($schema)) {
    
$error $schema->getMessage();
} else {
    
// 最初はクエリを無効にして実行し、すべてがうまくいくようにします
    
$disable_query true;

    
$previous_schema $schema->getDefinitionFromDatabase();
    
$op $schema->updateDatabase('schema.xml'$previous_schema, array(), $disable_query);

    if (
PEAR::isError($op)) {
        
$error $op->getMessage();
    }
}

if (isset(
$error)) {
    
var_dump($error);
}

$schema->disconnect();
?>

このメソッドの最初のふたつのパラメータには、 ファイル名あるいは定義配列のどちらの形式でも指定することができます。 両方の形式を混ぜて使用する例を、上のコードで示しています。 何か問題が発生したときのために、現在のスキーマを dumpDatabase() でバックアップしておくといいでしょう。

データベーススキーマを更新する際には、 データの永続性に関する問題が出てきます。 これはデータを操作する際に影響を及ぼします。 この問題については、後日このマニュアルで説明します。

忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「データベースの更新」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | データベースの更新」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: