MySQL スキーマと移行を処理するワークフローを改善しようとしています。プロジェクトをゼロから開始するとき (ほとんどの場合、PHP を使用)、自分の DB スキーマを常に変更していることに気付きます。つまり、あちこちのフィールドを忘れた、または未使用のフィールドを削除したいということです。
いくつかの ORM についてよく読んでいましたが、実際には必要のない多くの機能が追加されているようです。オーバーヘッドはオプションではありません。
だから、私はこれで「夢を見ていました」が、存在するかどうか、または可能かどうかさえわかりません:
次のように YAML でスキーマを記述します。
Table:Posts id:int title:varchar(500) content:text
スキーマを生成する cli コマンドを実行する
$ schema update
yaml に変更を加えます (例: フィールドの追加):
Table:Posts id:int title:varchar(500) content:text published:datetime
cli コマンドを再度実行し、ADD COLUMN のみを実行します (全体を再生成しません)。
$ schema update
出来ますか?そのようなツールはありますか?私はSQLを書くことができ、移行を書くことができますが、定義の「変更を認識」し、DBを自動的に同期する素晴らしいツールだと思います.
どうもありがとう!