我正在使用 Symfony 2.3 和 Doctrine 2,我需要用户将 Doctrine 数据库的模式保存到文件 (*.sql) 中。我需要将其转换为操作方法,然后将文件发送给用户
问问题
755 次
2 回答
1
您需要执行以下命令:
.app/console doctrine:schema:create --dump-sql >schema.sql
Command
以下是如何运行的答案Controller
:如何从控制器运行 symfony 2 运行命令
于 2014-06-02T12:57:53.073 回答
1
只是为了让你开始,这应该在概念上起作用。我没能运行它,所以我认为它可能需要您进行一些调整。
<?php
use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Component\Console\Output\NullOutput;
use Doctrine\Bundle\DoctrineBundle\Command\Proxy\CreateSchemaDoctrineCommand;
// your controller
public function myAction()
{
$command = new CreateSchemaDoctrineCommand();
$command->setContainer($this->container);
$input = new ArrayInput(array('--dump-sql' => true));
$output = new NullOutput();
$schema = $command->run($input, $output); //This is your schema
// Write it to a file if you want
file_put_contents('path/to/schema.sql', $schema);
}
参考:
- 类似的问题
- PHP file_put_contents()
- Symfony2 文件系统
于 2014-06-02T14:20:55.750 回答