2

サイトをサーバーにデプロイするために Phing を使用しようとしています。

データベースを作成または変更するコマンド:

 <pdosqlexec url="mysql:host=${db.host}; dbname=${db.name}"
         userid="${db.user}"
         password="${db.pass}"
         src="${project.basedir}/deploy/mysqlbuiltscripts/create_database.sql"/>

ローカルマシンでうまく機能します。しかし、サーバーにも変更を加える必要があります。主な問題 - SSH 経由でのみサーバー データベースにアクセスできます。質問 - SSH トンネル経由でこのコマンドを実行するにはどうすればよいですか?

PS を使ってみました<ssh username="${username}" password="${password}" host="${host}" command="${myMysqlCommand}">が、Phingの「changelog」テーブルに変更を書き込まないので、私には合いません。

4

1 に答える 1

0

dbdeployTask を使用していますか? リモート サーバーのデルタを生成している場合は、ファイルに変更ログが存在する必要があります。

リモート サーバーにアクセスできない場合は、リモート サーバーで直接 dbdeploy 作業を行うか、ssh を介してリクエストをトンネリングする必要があります。

私のdbdeployの手順は次のとおりです。

  1. phing を実行 -> dbdeploy タスク
  2. デルタ SQL を取得する
  3. mysql を使用して、リモート サーバーでデルタ sql スクリプトを実行します。
  4. 楽しみ
于 2012-07-16T16:04:25.920 に答える