PS脚本将最新的.sql备份文件还原到数据库中

时间:2016-01-20 10:16:32

标签: mysql powershell cmd

场景是我们有大量的.sql转储文件,并且在每次部署之前都会创建新文件。

如果迁移脚本出现任何问题,则必须手动删除/创建架构并使用命令行从最新备份恢复转储。

我正在编写一个PS脚本来自动执行此过程。

  1. 从给定路径中找到最新转储
  2. drop schema
  3. 创建架构
  4. 恢复转储。
  5. 我已经完成了前3个步骤,但是在第4步浪费了很多时间:

    Write-Host "Restoring: " $path
    $command = '"mysql.exe -uUsername -pPassword ' + $dbname + ' < ' + $path + '"'
    Write-Host $command
    cmd /C $command
    

    它说“系统找不到指定的文件。”

    如果我使用没有/ C的cmd $命令,它会在powershell中启动cmd但不执行$ command。

    我尝试过在cmd中执行命令的不同变体,但它似乎不起作用,我必须使用cmd的原因是因为powershell与'&lt;'不能很好地兼容。

    我尝试了Invoke-Item和Invoke-Expression,但不能保证我使用了正确的语法。

    任何建议都将不胜感激。

    由于

0 个答案:

没有答案