個人的に、こういう設計で開発を進めると良いんじゃないかな、という概念図。
全体
開発時
開発用DBを使って動きを確認しつつ、FuelPHPのプロジェクトファイルを変更。
テスト実行時
テストは、主に
- モジュール開発時のユニットテスト
- git push する前の受入テスト
の2つ。
テスト実行前にDBダンプファイルからテスト用DBにインポート。
その後、テスト用DBに対して自動でテストを実行。
検証時
本番環境に適用する前に、検証環境に適用し、本当に問題がないか確認する。
(検証環境にアクセスできる人は制限する)
検証環境にログインして、git pull
とoil r migrate
を実行。
本番環境適用時
本番環境にログインして、git pull
とoil r migrate
を実行。
追記
自分の開発環境では、ユニットテスト時のDBはダンプファイルを利用するのではなく、fixtureファイルをインポートしています。
(「はじめてのフレームワークとしてのFuelPHP」の開発手順を真似させてもらってます)
ダンプファイル単位で操作するより、ユニットテストに必要なテーブルだけゴニョゴニョできるのがメリットかと思います。