5000164 is here

Phinx 使ってみた

Published 2018.9.18 by 菅原 浩

Phinx はこれ。

ドキュメントはここ。
(CakePHP の方にもあるけどこっちの方が見やすい気がする)
(ページのタイトルがバージョンに関わらず 0.9.2 と古い表記なので最初迷った)

動機

DB をマイグレーションしようと思った時に、せっかくだから PHP 製のマイグレーションツールを使おうと思って探したら Phinx がよさそうだったから使ってみた。

ざっくりした使い方

1
2
3
FROM php:7.2.9-cli

RUN docker-php-ext-install pdo_mysql
1
docker build -t phinx ./docker/phinx
1
2
3
4
docker run --rm --interactive --tty \
    --volume $PWD:/app \
    -w /app \
    phinx vendor/bin/phinx init
1
2
3
4
docker run --rm --interactive --tty \
    --volume $PWD:/app \
    -w /app \
    phinx vendor/bin/phinx create CreateUserTable
1
2
3
4
5
docker run --rm --interactive --tty \
    --volume $PWD:/app \
    --net myapp_default \
    -w /app \
    phinx vendor/bin/phinx migrate -e development

所感

PHP プロジェクトの場合に PHP で統一できるのはいい。
Docker でさっと使えて便利だった。
マイグレーションファイルの書き方は独自記法があるようだったが、SQL をそのまま書いて使った。
軽くしか使ってないけどなんとなくよさそうかも。

参考