DB [MariaDB]CentOS6.6+MariaDBのクラスタ版を試してみる その1 MySQLから新標準DBになりつつあるMariaDB 今回はそのクラスタ版であるMariaDB Galera Clusterを試してみたいとおもいます。 MySQLにもクラスタ版はありましたが、ちょっと設定が面倒な用で敬遠していましたが、調... 2014.11.20 DB開発
CakePHP [CakePHP1.2]shellクラスの継承時にModelが読み込まれない 今更CakePHP1.2を使っている人は少ないと思いますが、一応メモとして残しておきます。 Shellクラスで親クラスを作って、それを継承させた場合、なぜかusesで指定したモデルが登録されていませんでした。 (ちなみにCakePHP2.x... 2014.11.17 CakePHPDBMySQLPHP
CakePHP [CakePHPプラグイン]cakeplus CakePHPはデフォルトでも便利な機能が満載ですが、しょせんは海外製。日本のWeb作成事情の機能は反映されていません。 そういった隙間を埋めるのがこのcakeplusプラグインです。 2014.11.15 CakePHPDBMySQLPHPPlugIn
DB [MySQL]MySQLでパーティショニングを使う場合の例 MySQLでパーティショニングを使う場合の例 #既存のテーブルにパーティションを作成 ALTER TABLE table_name PARTITION BY RANGE (id) ( PARTITION 1000000_table_name... 2014.10.29 DBMySQL
MySQL [mysql]パーティショニングの使いどころ mysqlにはパーティショニングという大変便利な機能がある。 これは、あるカラムの条件をキーにしてテーブルを分割して、検索効率を上げる便利な機能である。 パーティショニングとこんなに早くなる!というメリットを書いてあるブログはたくさんあるの... 2014.10.26 MySQL開発
CakePHP [CakePHP1.2]id以外のカラムでアソシエーション id以外のカラムでアソシエーションしたい場合。 こんな感じで一時的にprimaryKeyを変更する。 $this->{model}->primaryKey->='hoge_id'; 使い終わったら戻しておきましょう。 $this->{mod... 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 を付けた マスター用の設定を記述する 例) $de... 2014.08.26 CakePHPDBMySQLPHP開発
CakePHP [CakePHP2.x]DebugKitとキャッシュのPermission denied問題について CakePHP2.xのあるバージョンからやたらとキャッシュに関する問題が多発しているように思われます。 対処法としては、以下の2ファイルにマスクの設定を追記してあげるのが良いようです。 //app/Config/core.php Cache... 2014.07.11 CakePHPDBMySQLPHP
CakePHP [cakephp2]アプリケーションを複数設置してAPCを用いている場合の注意 意外と気が付かない点。 APCをつかってcakephp2のアプリケーションを複数サーバーに設置している場合。 設定を一部ダブらないようにした方がいいようです。 core.php //APCを使う場合の設定例 Configure::write... 2014.05.27 CakePHPDBMySQLPHP
CakePHP [cakephp2.x]セッションの保存先をDBするときにハマった件 表題の件。 cakephp2でセッションの保存先をDBにする場合。 core.phpでSessionの設定を下記に変更して Configure::write('Session', array( //'defaults' => 'php' '... 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 paginateC... 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 befor... 2012.02.10 CakePHPDBMySQLPHP