Lightning talk (4 mins)

Spiralでマイグレーションレスな開発を!~モデルとテーブルを同期するとは~ PHP Conference Japan 2021

Database
1
niisantokyo 新倉涼太 niisantokyo

先進技術を貪欲に取り入れ続ける皆様にとって、PHPとGoを組み合わせた全く新しい (ver1リリースが2017年) FrameworkであるSpiral Frameworkの存在は周知のことかと思います。今回はこのSpiralとそれが採用しているCycleORM利用することで、エンティティの定義からデータベースのテーブル定義を同期させる機能をご紹介いたします。
Laravelなどのような積み上げ式のデータベースマイグレーションを採用している場合、時とともにマイグレーションファイルが増えていき、現在のデータ定義がわかりにくくなっていきます。一方、CycleORMを採用するSpiralでは、エンティティのプロパティ定義を利用して、データベースのテーブル定義との差分を検出し、定義内容を同期する機能が用意されています。この機能を活用することで、積み上げ式のマイグレーションファイルは不要となり、テーブル定義もエンティティのプロパティを見ればわかるようになります。
今時だとLaravelやCakePHPが割と覇権みたいに言われていますが、だからこそ、あえて、このSpiral Frameworkを通して、新しい開発体験をしてみてはいかがでしょうか。