在 symfony2 控制台中加载所有 Fixtures 文件
Load all Fixtures files in symfony2 console
我在 symfony2 的控制台上遇到了压力行为。我有一个本地环境,如果我执行:
php app/console doctrine:fixtures:load
purging database
loading Application\Sonata\UserBundle\DataFixtures\ORM\LoadUserData
loading ApplicationNewsBundle\DataFixtures\ORM\LoadAdvertisementData
loading ApplicationNewsBundle\DataFixtures\ORM\LoadArticleData
loading ApplicationNewsBundle\DataFixtures\ORM\LoadLiveBlogData
loading ApplicationNewsBundle\DataFixtures\ORM\LoadVideoData
我将代码上传到 Heroku(相同的代码)并执行相同的命令,但我只执行了前两个固定装置:
purging database
loading Application\Sonata\UserBundle\DataFixtures\ORM\LoadUserData
loading ApplicationNewsBundle\DataFixtures\ORM\LoadAdvertisementData
此时我估计是配置的问题,我也在dev环境下执行了命令,结果一样。
php app/console --env=dev doctrine:fixtures:load
我正在使用 symfony 2.6.9。
您可能遇到此行为的原因有 2 个:
远程系统上的文件权限错误
检查用户调用
PHP 处理,否则它们可能找不到,因此不会被加载。
过时的 composer Autoloader
如果您使用 -a
/ --classmap-authoritative
或 --apcu
转储了优化的自动加载器,并且之后部署了带有新夹具 类 的新版本...新的 类 可能还不在类映射中并且不会自动加载。要解决此问题,只需按 运行 composer dump-autoload -a
.
再次转储自动加载器
问题与路径有关,文件夹的名称是 DataFIxtures,I 是大写字母,在本地使用 vagrant 似乎不是问题,但是当我使用 heroku 容器时不理解此路径它不执行命令。更改名称问题已解决。
我在 symfony2 的控制台上遇到了压力行为。我有一个本地环境,如果我执行:
php app/console doctrine:fixtures:load
purging database loading Application\Sonata\UserBundle\DataFixtures\ORM\LoadUserData loading ApplicationNewsBundle\DataFixtures\ORM\LoadAdvertisementData loading ApplicationNewsBundle\DataFixtures\ORM\LoadArticleData loading ApplicationNewsBundle\DataFixtures\ORM\LoadLiveBlogData loading ApplicationNewsBundle\DataFixtures\ORM\LoadVideoData
我将代码上传到 Heroku(相同的代码)并执行相同的命令,但我只执行了前两个固定装置:
purging database
loading Application\Sonata\UserBundle\DataFixtures\ORM\LoadUserData loading ApplicationNewsBundle\DataFixtures\ORM\LoadAdvertisementData
此时我估计是配置的问题,我也在dev环境下执行了命令,结果一样。
php app/console --env=dev doctrine:fixtures:load
我正在使用 symfony 2.6.9。
您可能遇到此行为的原因有 2 个:
远程系统上的文件权限错误
检查用户调用 PHP 处理,否则它们可能找不到,因此不会被加载。
过时的 composer Autoloader
如果您使用
-a
/--classmap-authoritative
或--apcu
转储了优化的自动加载器,并且之后部署了带有新夹具 类 的新版本...新的 类 可能还不在类映射中并且不会自动加载。要解决此问题,只需按 运行composer dump-autoload -a
. 再次转储自动加载器
问题与路径有关,文件夹的名称是 DataFIxtures,I 是大写字母,在本地使用 vagrant 似乎不是问题,但是当我使用 heroku 容器时不理解此路径它不执行命令。更改名称问题已解决。