2012-04-17 2 views
0

私のフレームワークのパッケージのインストール/アップデート機能を迅速に実装するスクリプトを探しています。それは次のことを行うことができるはずです:PHP/MySQLスタンドアロンインストーラ/アップデータスクリプト?

  • PHP 5と互換性がなければなりません。
  • コンポーネントのファイルとデータベーステーブルをインストールして更新できる必要があります。
  • パッケージの依存関係の定義を許可し、競合の解決の一形態を持つ必要があります。
  • パッケージの開発者がUPDATE SQL文を提供できるようにする必要があります。 (データを失うことなくデータベースを変更するため)。
  • 更新パッケージをターゲットフォルダに 'jail'できる必要があります。
  • 上記の「刑務所」を適用するために、異なるパッケージタイプを定義して検出できる必要があります。
  • カスタムバックエンドに統合するためのAPIを提供する必要があります。
  • パッケージのダウンロードを許可する必要があります.FTPなどではなく、HTTP経由でダウンロードすることを推奨します。

これをスタンドアロンユーティリティとして使用して、モジュラーフレームワークとクライアントのカスタムコードの更新を簡単に提供する予定です。

オープンソースフレームワークで類似しているツールや、それを基にして使用するツールの推奨事項があれば良いでしょう。 :)

答えて

1

私はこれを行うための魔法のツールを知らないが、あなたがこれらのタスクを行うのに役立つカップルはPhrakeとComposerです。

PhakeはRuby's Rake utilのPHP版です。これらのスクリプトを使用してデータベースをセットアップし、ファイルを更新し、単体テストを実行することができます。

Composerを使って依存関係を管理することもできます(これらのシステムのパッケージに依存する場合はPEARからダウンロードすることもできます)。もちろんこれはビルドスクリプトに組み込むことができます。

+0

ありがとうございます。私は本当に作曲家の表情を愛しています。 PhakeもComposerも、私が後にしているデータベース更新機能を提供していません。おそらくあなたはそれを行うシステムを知っているでしょう。好ましくは、パッケージのプログラマーは、新規インストールを行うためにINSTALL.SQLファイル以外の古いバージョンからアップグレードするUPDATE.SQLファイルを提供します。 – Beanow

+0

Drupalモジュールには、私が意味する良い例が実装されています。それらはデータベーススキーマを生成し、バージョンごとにこの基本スキーマへの増分追加を可能にします。また、既存のデータベースをターゲットバージョンに更新するために必要なコードを実行する更新機能を提供します。 – Beanow

+0

詳しくは、Composerを参照してください。インストール/更新時にはDB操作の標準はないようですが、これを実装して、それを必要とする他の製品に再利用することは可能です。それ以外は、私が挙げたすべての要件を実装しています。私は今受け入れます、ありがとう! – Beanow