いくつかの幼稚園から高校まで、一部の大学で使用されているオープンソースのPHP / MySQL Webアプリケーションを管理しています。私はプロジェクトの唯一の開発者でもあります。以前は、雇用主がホストするアプリケーションのソースダウンロードに過ぎませんでしたが、昨年、ドキュメント、番号付きリリース、公開変更ログなどを含む「本物の」オープンソースプロジェクトにするために取り組んできました。
アップグレードプロセスの改善を目指しています。特にITの専門家が不足している学校にとって、痛みを伴う可能性のある分野の1つは、リリース間でのデータベーススキーマの変更です。それらは頻繁に発生したり、大幅な変更になる傾向はありませんが、プロセスに関する提案をいただければ幸いです。
現在、データベースを新規インストールでセットアップするためのベースSQLインストールスクリプトを維持しています。これには、現在のリリースの完全なスキーマが含まれます。新規インストールの場合、これ以上のアクションは必要ありません。リリース間で発生する変更はupgrade-$releasever.sql
スクリプトに保存されます。スキップされたリリースについては、すべてのアップグレードスクリプトを段階的に実行する必要があります。
ユーザーの多くはシェルアクセスなしでホストを操作するため、シェルスクリプトは適していません。他の優先事項により、複雑なPHPブラウザーベースのインストーラー/アップグレードスクリプトが実現する可能性は低いです。ただし、アップグレードを簡素化するために、ブラウザーベースのPHPスクリプトを使用して何かを実行したいと思います。それへのアプローチ方法に関する提案?