2012-01-19 2 views
0

私たちのテスト環境用のカピストラーレシピで一連のsqlファイルを読み込もうとしています。capistranoを使用して一連のsqlファイルをロードする

ここで私が思いついたものです:私カピストラーノコンソールが出力

desc "Empty database and play sql scripts for fresh db structure" 
    task :mysqlrestore, :roles => :app do 

    run "find #{current_release}/migration/ -name '*.sql' -print0 | xargs -0 -I file mysql -hlocalhost -u#{db_username} -p#{db_password} #{db_database} < file" 

に失敗しました:「SH -c「が見つかり/ホーム/ツールボックス/ WWW /ステージング/リリース/ 20120119111819 /移動/ -name '\' 'SQL *' \ '' -print0 |。xargsの-0 -Iファイルのmysql -hlocalhost staging.env.com

どこに-uuser -ppassword DBNAME <ファイル '」私はbできる間違ってる?

+0

私はあなたがなど-uとユーザー名、-pとパスの間にスペースが不足していると思います – HectorMalot

答えて

1

実行コマンドから一重引用符を削除するだけで、bashからコマンドを実行することができました。

すなわち

run "find #{current_release}/migration/ -name *.sql -print0 | xargs -0 -I file mysql -hlocalhost -u#{db_username} -p#{db_password} #{db_database} < file" 
関連する問題