我目前正在使用Symfony和Doctrine开发PHP应用程序。我现在的目标是创建一个bash脚本来构建我的数据库模式并加载夹具。我当前的脚本位于/ bin文件夹中,并具有以下内容:
#!/usr/bin/env bash
php bin/console doctrine:migrations:migrate
php bin/console doctrine:fixtures:load --purge-with-truncate
该脚本是可执行文件,当我尝试运行它(./create_de.sh
)时,出现以下错误:
Could not open input file: bin/console
我试图将脚本更改为以下内容:
#!/usr/bin/env bash
php console doctrine:migrations:migrate
php console doctrine:fixtures:load --purge-with-truncate
但是我仍然遇到相同的错误,除了没有bin部分。
当我通过命令行运行脚本中的命令时,我没有任何问题。知道为什么该脚本不起作用吗?
答案 0 :(得分:0)
由于脚本位于bin文件夹中,因此只需将其更改为:
SELECT team
FROM
(
SELECT team, wins, penaltyyards,
avg(penaltyyards) OVER (PARTITION BY division) as avgpenalty,
avg(wins) OVER (PARTITION BY division) as avgwins
FROM nfl.teams
) averages
WHERE penaltyyards > AVGPenalty AND wins > avgwins
编辑:这里没有任何权限问题,正如其他注释所建议的那样,因为默认情况下控制台文件的权限为php ./console doctrine:migrations:migrate
php ./console doctrine:fixtures:load --purge-with-truncate
,这意味着每个人都可以执行它。
答案 1 :(得分:0)
您是否尝试过(从bin/
开始)dos2unix create_de.sh > create_de_new.sh
,然后尝试./create_de_new.sh
?
答案 2 :(得分:0)
您是否检查了权限,文件bin /控制台必须具有执行权限:
类似的东西:
chmod +x bin/console