我有一个工作的应用程序,我想添加一些灯具,但我真正想要做的就是加载新的灯具文件。
当我运行
时php symfony doctrine:data-load
是否重新输入数据库中已有的数据。如果没有,我认为我可以调用它,它将只添加自上次以来的新装置。
如果它确实再次输入所有数据,那么有没有办法隔离特定夹具文件上的数据负载?
答案 0 :(得分:7)
在命令之前使用字符串“help”,您将成为详细说明:
php symfony help doctrine:data-load
...
If you want to load data from specific files or directories, you can append
them as arguments:
./symfony doctrine:data-load data/fixtures/dev data/fixtures/users.yml
答案 1 :(得分:1)
你可以做你想做的两件事 - 你需要create a new task才能做到这一点......
这将加载到单个灯具文件中:
Doctrine_Core::loadData('/path/to/data.yml');
这会将灯具文件附加到当前数据:
Doctrine_Core::loadData('/path/to/data.yml', true);
所以只需创建一个新任务 - 访问数据库连接并根据你想做的事情运行其中一个命令
您确实可以使用当前命令追加和/或使用特定文件。
Usage:
symfony doctrine:data-load [--application[="..."]] [--env="..."] [--append] [dir_or_file1] ... [dir_or_fileN]
Arguments:
dir_or_file Directory or file to load
Options:
--application The application name (default: 1)
--env The environment (default: dev)
--append Don't delete current data in the database
Description:
The doctrine:data-load task loads data fixtures into the database:
./symfony doctrine:data-load
The task loads data from all the files found in data/fixtures/.
If you want to load data from specific files or directories, you can append
them as arguments:
./symfony doctrine:data-load data/fixtures/dev data/fixtures/users.yml
If you don't want the task to remove existing data in the database,
use the --append option:
./symfony doctrine:data-load --append
再一次为误导你而道歉...但只是想想 - 你现在已经学会了如何编写任务: - )