DB [MySQL]MySQLでパーティショニングを使う場合の例 MySQLでパーティショニングを使う場合の例#既存のテーブルにパーティションを作成ALTER TABLE table_name PARTITION BY RANGE (id) (PARTITION 1000000_table_name VA... 2014.10.29 DBMySQL
MySQL [mysql]パーティショニングの使いどころ mysqlにはパーティショニングという大変便利な機能がある。これは、あるカラムの条件をキーにしてテーブルを分割して、検索効率を上げる便利な機能である。パーティショニングとこんなに早くなる!というメリットを書いてあるブログはたくさんあるのです... 2014.10.26 MySQL開発
CakePHP [CakePHP1.2]id以外のカラムでアソシエーション id以外のカラムでアソシエーションしたい場合。こんな感じで一時的にprimaryKeyを変更する。$this->{model}->primaryKey->='hoge_id';使い終わったら戻しておきましょう。$this->{model}-... 2014.10.08 CakePHPDBMySQLPHP開発
CakePHP [cakephp1.2]validatesチェック後にデータを読み込むとエラーメッセージがリセットされる $this->{model}->set($this->data);$this->{model}->validates();$this->{model}->read(null,1);などとして、ヴァリデーションチェック後に読み込みを行うと、エ... 2014.09.29 CakePHPDBMySQLPHP開発
DB [MySQL]DBの高速重複チェック DBにデータを入れる際に、同一データがないかどうかチェックをしなければならない場合。単純に、同じ名前の人がいるか?というようなものだったら単純にselect文を発行してチェックすればよい。(まぁ、名前の漢字が違うとか、電話番号のフォーマット... 2014.08.28 DBMySQL
DB [MySql]1016: Can’t open file: ‘./~/~.frm’ (errno: 24) エラーの対処法 MySqlでパーティションテーブルを設定しようとしたら以下のようなエラーメッセージが出てしまった。1016: Can't open file: './~/~.frm' (errno: 24) どうも、mysqlが同時に開くことができるファイ... 2014.08.26 DBMySQL
CakePHP [CakePHP2.x]レプリケーション環境での保存先変更 レプリケーション環境下でマスター、スレーブ環境の切り替えを行うAPI設定database.phpにマスターとスレーブの接続設定を書くルールはスレーブ用の設定名の後ろに_master を付けたマスター用の設定を記述する例)$default =... 2014.08.26 CakePHPDBMySQLPHP開発
CakePHP [CakePHP2.x]DebugKitとキャッシュのPermission denied問題について CakePHP2.xのあるバージョンからやたらとキャッシュに関する問題が多発しているように思われます。対処法としては、以下の2ファイルにマスクの設定を追記してあげるのが良いようです。//app/Config/core.phpCache::c... 2014.07.11 CakePHPDBMySQLPHP
CakePHP [cakephp2]アプリケーションを複数設置してAPCを用いている場合の注意 意外と気が付かない点。APCをつかってcakephp2のアプリケーションを複数サーバーに設置している場合。設定を一部ダブらないようにした方がいいようです。core.php//APCを使う場合の設定例Configure::write('Ses... 2014.05.27 CakePHPDBMySQLPHP
CakePHP [cakephp2.x]セッションの保存先をDBするときにハマった件 表題の件。cakephp2でセッションの保存先をDBにする場合。core.phpでSessionの設定を下記に変更してConfigure::write('Session', array(//'defaults' => 'php''defau... 2014.03.20 CakePHPDBMySQLPHP開発
CakePHP [cakephp2]modelのソートでrand()を使う場合の注意 たとえば、ランダムにデータを取得したい場合。$this->(model)->find('list',array('order'=>array('rand()'))); とするとSQLでは... rand() ASC ... などとなってしま... 2014.02.10 CakePHPDBMySQLPHP
CakePHP [cakephp2.x]pagenateのカウントがおかしい場合。 pagenateのfiledsでDESCENTやgrop byを使うとカウントがおかしくなってしまう場合。AppModel.phpに以下でpaginateCount()関数をオーバーライドすればいい。function paginateCou... 2013.07.16 CakePHPDBMySQLPHP開発
CakePHP [CakePHP1.2]Cakeでレプリケーションを使う場合 config/database.phpにマスター、スレーブのdb接続設定を以下のように追加する。例$default=array(DB設定); //スレーブ$default_master=array(DB設定); //マスターsaveなどの保... 2013.04.27 CakePHPDBMySQLPHP開発
CakePHP [CakePHP2.x]modelの連想配列にモデル名が入ってこない件 CakePHP2.x系+CentOS6系の組み合わせだと、なぜかmodelの連想配列にモデル名が入ってこない場合があるようです。どうもPDO.MySQLとMySQLの組み合わせで、あるAPIでテーブル名がうまく取得できない場合があるため、そ... 2013.02.28 CakePHPDBLinuxMySQLOSPHP開発
CakePHP [CakePHP1.2]モデルのテーブル名を動的に切り替える モデルで使用しているテーブル名を動的に切り替えるメソッド$this->Model->setSource(table_name);マージテーブルなどで年代別に複数のテーブルに分割している場合などで、特定のテーブルのデータを取得したいときに使え... 2012.09.08 CakePHPDBMySQLPHP開発
CakePHP [CakePHP]NULLデータをコミットする リストボックスなどで未選択の場合にデータとしてNULLを設定したい場合、空白のデータがなぜか"0"で保存されてしまいます。この場合、modelのbeforeSave()メソッドで以下のような処理を行えば良い。function beforeS... 2012.02.10 CakePHPDBMySQLPHP