今回はMigrationでファイルをバイナリデータとして保存しておくためのカラムをMigrationで追加していく方法をまとめていきます。
use Phinx\Db\Adapter\MysqlAdapter; use Migrations\AbstractMigration; class CreateDocumentTable extends AbstractMigration { public function up() { $this->table('pictures', [ 'comment' => '同封物' ]) ->addColumn('file', 'blob', [ 'comment' => 'バイナリデータ', 'default' => null, 'limit' => MysqlAdapter::BLOB_MEDIUM, 'null' => false, ]) ->create(); } public function down() { $this->table('pictures')->drop()->save(); } }
ここでMysqlAdapterを使ってBLOBを利用するのがポイントです。 migration_diffでbakeしてやると、binaryでカラムを作ろうとするので適宜調整してください。