Ignore:
Timestamp:
2011/01/25 04:00:29 (15 years ago)
Author:
AMUAMU
Message:

#926 (高度なデータベース管理でチェックを押して登録を押してもindexが張られない) の解決。
#494 (プラグイン機能)の変更に伴うテンプレート呼び出し形式に対応していなかった問題があったことに対応。

Location:
branches/version-2_5-dev/data/class/db
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/class/db/SC_DB_DBFactory.php

    r19805 r20037  
    156156     */ 
    157157    function findTableNames($expression = "") { return array(); } 
     158 
     159    /** 
     160     * インデックス作成の追加定義を取得する 
     161     * 
     162     * 引数に部分一致するテーブル名を配列で返す. 
     163     * 
     164     * @param string $table 対象テーブル名 
     165     * @param string $name 対象カラム名 
     166     * @return array インデックス設定情報配列 
     167     */ 
     168    function sfGetCreateIndexDefinition($table, $name, $definition) { return $definition; } 
     169 
    158170} 
    159171?> 
  • branches/version-2_5-dev/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php

    r20024 r20037  
    434434 
    435435    } 
     436     
     437    /** 
     438     * インデックス作成の追加定義を取得する 
     439     * 
     440     * 引数に部分一致するテーブル名を配列で返す. 
     441     * 
     442     * @param string $table 対象テーブル名 
     443     * @param string $name 対象カラム名 
     444     * @return array インデックス設定情報配列 
     445     */ 
     446    function sfGetCreateIndexDefinition($table, $name, $definition) { 
     447        $objQuery =& SC_Query::getSingletonInstance(); 
     448        $arrTblInfo = $objQuery->getTableInfo($table); 
     449        foreach($arrTblInfo as $fieldInfo) { 
     450            if(array_key_exists($fieldInfo['name'], $definition['fields'])) { 
     451                if($fieldInfo['nativetype'] == 'text') { 
     452                    // TODO: text型フィールドの場合に255文字以内決めうちでインデックス列のサイズとして 
     453                    //       指定して良いか確認は必要。 
     454                    $definition['fields'][$fieldInfo['name']]['length'] = '255'; 
     455                } 
     456            } 
     457        } 
     458        return $definition; 
     459    } 
    436460} 
    437461?> 
Note: See TracChangeset for help on using the changeset viewer.