您好,我需要帮助,我做了一个命令,该命令应该读取sql_dumps文件夹内的所有sql文件,但是它不起作用..这就是我得到的。
execute "Run_SQL_Files" do
dirResults = Dir.glob("/tmp/sql_dumps/*.sql")
var = 0
while var < 15 do
var = var + 1
command "mysql --user=root --password=toomba source" + dirResults[var]
# Already tried this also
# command "mysql --user=root --password=toomba < " dirResults[var]
puts dirResults[var]
end
end
我对红宝石不是很熟悉。这是我收到的错误
default: Errno::ENOENT
default: -------------
default: No such file or directory - Run_SQL_Files
default:
default: Resource Declaration:
default: ---------------------
default: # In /tmp/vagrant-chef-3/chef-solo-1/cookbooks/main/recip
default.rb
default:
default: 214:
default: 215: execute "Run_SQL_Files" do
default: 216: dirResults = Dir.glob("/tmp/sql_dumps/*.sql")
default: 217: var = 0
default: 218: while var < 15 do
default: 219: var = var + 1
default: 220: puts `mysql --user=root --password=toomba source
{dirResults[var]}`
default: 221: puts dirResults[var]
default: 222: end
default: 223: #command "mysql --user=root --password=toomba < "
iles
default: 224: end
提前致谢!
这里有一个关于Chef如何编译资源的误解。您期望Chef执行15次命令,但这不是Chef的操作方式。Chef运行于两个阶段,即执行阶段和编译阶段。在编译阶段(首先运行),将评估Ruby并将资源添加到资源集合中。也有一些例外,这个阶段也
不会 改变系统的状态。所以给你的食谱:
execute "Run_SQL_Files" do
dirResults = Dir.glob("/tmp/sql_dumps/*.sql")
var = 0
while var < 15 do
var = var + 1
command "mysql --user=root --password=toomba source" + dirResults[var]
# Already tried this also
# command "mysql --user=root --password=toomba < " dirResults[var]
puts dirResults[var]
end
end
这在功能上等同于这样编写的配方(在编译阶段完成之后)”
execute "Run_SQL_Files" do
command "mysql --user=root --password=toomba source /tmp/sql_dumps/15.sql"
end
请注意,Chef仅将利用该属性的 最后一个 值command
。这是因为Chef在两个阶段中执行(如上所述)。
在资源定义中使用条件逻辑和循环几乎总是会引起问题。在此示例中,您需要在execute资源 之外
编译命令。您要执行的每个SQL命令都必须具有自己的execute
块。这是一个简单的重构示例:
Dir["/tmp/sql_dumps/*.sql"].each do |path|
execute "run_sql_#{path}" do
command "mysql --user=root --password=toomba < #{path}"
end
end
这会将15个(从OP假定)执行资源放入资源集合中,并按顺序执行它们。
问题内容: 我需要将所有.html文件都作为.php文件运行,而在明天的演示文稿发布之前,我没有时间更改所有链接。有什么办法可以用我的Apache服务器对其进行“破解”吗? 问题答案: 在网站的根目录中创建一个.htaccess文件,并添加以下行: [Apache2 @ Ubuntu / Debian:使用此指令] 或者,从下面的评论中: 如果您将PHP作为CGI运行(可能不是这种情况),则应改为
我有一个Java应用程序,它使用Gradle作为构建系统。这是多项目构建(几个Java项目)。 当我运行时,有些测试失败了,我注意到并不是所有的测试都在运行。 如果我将以下代码添加到中,它确实会运行所有测试,但当然,构建的代码总是成功完成: 我有两个问题: gradle是否在第一次失败后停止执行测试? 是否有一种方法可以运行所有测试(即使在一些测试失败时),并且如果其中一些测试失败,构建的测试仍然
我有一堆功能文件(大约15个),其中每个功能文件都有一个线程,需要睡眠至少3分钟(对于一些复杂的后台应用程序,需要执行一些功能)。我需要一种并行执行它们的方法。 我有一个简单的CucumberRunnerTestCLass。 非常感谢您的帮助。谢谢
Chef 是一个系统集成框架,为整个架构提供配置管理功能,有了 Chef 你可以: Manage your servers by writing code, not by running commands. (via Cookbooks) Integrate tightly with your applications, databases, LDAP directories, and more
Navicat 让你使用 转储 SQL 文件 和 运行 SQL 文件 功能还原你的数据库或模式或表。 要备份数据库或模式或表,在上右击并从弹出菜单选择 转储 SQL 文件 -> 结构和数据 或 僅结构。要还原数据库或模式或表或运行 SQL 文件,右击并从弹出菜单选择 运行 SQL 文件。 提示:你可以拖曳一个 .sql 文件到表的对象列表窗格或到连接窗格的表或模式。Navicat 将弹现 运行 S
支援 Gulp 4.0,允许嵌套配置任务及组态。以优雅、直觉的方式,重复使用 gulp 任务。 编码的时候你遵守 DRY 原则,那编写 gulpfile.js 的时候,为什么不呢? 功能 支援 Gulp 4.0, 自动载入本地 recipe, 支援透过 npm 安装 plugin, 支援嵌套任务并且允许子任务继承组态配置, 支援向前、向后参照任务, 透过组态配置即可处理串流:譬如 merge, q