FuelPHPのデータベースに関連する機能tips

データベースの接続設定

fuel/app/config/db.phpに基本的な情報を入れる
このファイルがまず読み込まれ、その次に環境毎のファイルが読み込まれる

fuel/app/config/development/db.phpに開発環境用の設定をする
データベース名は開発用のものを用意するのと
ユーザ名とパスワードはproduction用とは違うのを用意すると人為的なミスによるデータ消失とかを防げる

fuel/app/config/test/db.phpにテスト環境用の設定をする

マイグレーションによるテーブルの作成

マイグレーションの設定ファイルfuel/core/config/migrations.phpfuel/app/config/developmentフォルダとfuel/app/config/testにコピーする

マイグレーションファイルの生成

マイグレーションを実行しデータベースにテーブルを作成

バージョンを指定してマイグレーションを戻す

マイグレーションでsimpleauthのuserを自動生成

を叩く

テーブルからのコード生成

テーブルからコードを自動生成する
タイプ: {model|scaffold}

ORM

Def. ORM(Object-Relational Mapping)
オブジェクト指向でのオブジェクトをデータベースのレコードにマッピングすること

ORMのWhere句でBetweenを使用する

ORMでトランザクション処理

http://qiita.com/hatahata/items/05bf95c3613a5ca9ee66

PHPExcel Package

http://www.qript.co.jp/blog/technique/1726/

http://github.com/muhittin/fuelphp_excelを/fuel/packagesに格納し、excelにフォルダ名を変更

ORMのメモリリーク問題

FuelPHPでのメモリリーク?について – Qiita
FuelPHPのOrmとキャッシュについてのTips | 東北ギーク

ORMでレコードを取得・追加するときにキャッシュとしてスタティック変数に保存するのが原因とのこと
普段ORMを利用する分にはキャッシュするのはいいことかもしれないが、バッチ処理だと致命的

FuelPHPでのメモリリーク?について – Qiita
の記事になるコメントにある応急処置がいい感じ
モデルにキャッシュを消すための関数を作る

FuelPHPでテーブルのレコードをカウントする方法


もしよければ応援クリックお願いします
↓↓↓↓↓
にほんブログ村 IT技術ブログ IT技術メモへ