2011-09-09 3 views
3

私のプロジェクトは、MySQLをデータベースとして使用するPHPスクリプトのコレクションであり、WAMP/LAMP/MAMPを使用してローカルにインストールする必要があります。GitHubを使ってスタンドアロンPHPプロジェクトの自動更新を実装する方法は?

以前は、ユーザーに圧縮されたアーカイブへのリンクを送信して上書きしていましたが、GitHubに突っ込んだので、はるかに優れた方法があることを認識しました。 GitHubのサービスフック。しかし、私はデータベースを変更しない限り、これはうまくいくでしょう。それは良い可能性です。

私はこれをどのように実装するのか考えていましたが、明確な解決策を見つけることができません。これまでのところ私は、アップデートごとに.sqlファイルを含むディレクトリ(update /と言う)が必要であると結論づけました。 PHPスクリプトはそのディレクトリに新しいバージョン番号に対応するファイルをチェックします(バージョン番号の定義方法はわかりません;私はコミットIDを使用することを考えていましたが、コミット後まで使用できません) ...)。

私はこれに関するいくつかの入力が大好きです!

+0

SQLファイルには構造とデータの両方が必要ですか? –

+0

@TarekFadel実際にはSQLファイルである必要はありません。私はいくつかのSQLクエリを実行して新しい構造、アドオン、フィールドなどを使って現在のデータベースを更新するPHPファイルのラインに沿ってもっと考えていました。 –

答えて

2

は、ここで私は(最もエレガントなまたはパフォーマンスではない)、これを取り組むだろう方法は次のとおりです。

  1. バージョン番号
  2. とDB内のフラグを追加するには、DB層のPHPファイル内の最小バージョン番号を追加します。
  3. それがある場合はDBのバージョンは最小バージョン
    • よりも大きいことを確認します。あなたのビジネスについてエルス
    • を続ける:ヘクタールと思われるupdate/にPHPファイルを実行しますすべての

代わりの代わりをして、最新の数

  • にDBサーバ
    • アップデートで実行するALTER TABLE一連のコマンドDBにおける最小バージョン番号VEのDBに問い合わせると、DBインターフェースのPHPファイル(.gitignoreでは無視されます)によって生成されたファイルを上記のようにすることができます。

  • +0

    これは私の最初のアイデアでしたが、あなたは思考の訓練を終えました。ありがとうございました :) –

    1

    Doctrineとそのmigration featureをチェックアウトすることをお勧めします。

    これはまさにあなたが探しているものです。また、データベース処理の他のすべての側面を扱うための非常に素晴らしいツールがあります。

    +0

    チップをありがとう。私はそれを見てみましょう:) –

    関連する問題