学说动态创建实体

2024-02-26

有没有办法创建和modify动态数据库中的实体和表(来自 php 脚本)?

例如,我想从数组生成一个实体:

fields{
    id: integer,
    name: string,
    ... and so on
}

然后在bd中生成一个表

我只知道一种简单的解决方案:创建 yml 或 xml 文件并从我的脚本运行控制台命令,或使用 DBAL


我只知道一种简单的解决方案:创建 yml 或 xml 文件并从我的脚本运行控制台命令,或使用 DBAL

你也可以从命令行生成实体 http://symfony.com/doc/current/bundles/SensioGeneratorBundle/commands/generate_doctrine_entity.html, 例如:

$ php app/console generate:doctrine:entity --no-interaction \
    --entity=AcmeBlogBundle:Post \
    --fields="id:integer title:string(100) body:text" \
    --format=xml

这里使用SensioGeneratorBundle,即仅定义于dev and test环境 https://github.com/symfony/symfony-standard/blob/f5b1ae88c3d2338f43a18363811f03bae196ff54/app/AppKernel.php#L25.

因此,这有点棘手,但您需要在正确的环境下调用此命令:

$ php app/console generate:doctrine:entity […] --env=dev

The 流程组件 http://symfony.com/doc/current/components/process.html可以用来启动此命令。

所以你最终可能会得到这样的结果:

use Symfony\Component\Process\Process;
use Symfony\Component\Process\Exception\ProcessFailedException;

$command = 'php app/console generate:doctrine:entity --no-interaction '.
    '--entity=AcmeBlogBundle:Post '.
    '--fields="id:integer title:string(100) body:text" '.
    '--format=xml';

$process = new Process($command);
$process->run();

// executes after the command finishes
if (!$process->isSuccessful()) {
    throw new ProcessFailedException($process);
}

echo $process->getOutput();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学说动态创建实体 的相关文章

  • 没有 OutputInterface 的 Symfony2 控制台输出

    我正在尝试使用 Symfony 控制台命令将一些信息打印到控制台 通常你会做这样的事情 protected function execute InputInterface input OutputInterface output name
  • 如何通过 SyliusResourceBundle 使用 Sylius 创建新模型

    我找到并成功使用了有关如何覆盖 Sylius 中现有模型的文档 但我无法利用 SyliusResourceBundle 创建一个全新的模型 我猜如果你已经了解 Symfony2 的话这很容易吗 我仍在学习 所以这就是我所拥有的 我缺少什么
  • Symfony2 - ReferencedColumnName id 为空

    我要放弃食谱文章了表单集合 http symfony com doc current cookbook form form collections html但是 当尝试将其保留到数据库时 我收到约束冲突错误 引用的列名称 id 为空 SQL
  • 是否值得将 Doctrine 2 与 Zend Framework 一起使用?

    我知道有些用户在 Zend Framework 中使用 Doctrine 2 而不是 Zend Db 但我不知道为什么 为什么 Doctrine2 比 Zend Db 好 为什么 Zend Db 不好 Thanks 2013 年 3 月 7
  • 使用 Doctrine2 时的多重歧视级别

    我正在使用 Doctrine2 来管理我的模型 如下 有一个抽象概念Content与复合模式Gallery 也是一个抽象概念Media从中Video and Image继承 我的选择是添加鉴别器Content and Media表以便区分G
  • 如何设置外键id的id #sf2 #doctrine2

    我正在尝试手动为对象设置外键 id 但没有找到如何执行此操作 class Item ORM ManyToOne targetEntity MyBundle Entity ItemType inversedBy itemTypes ORM J
  • Symfony 4.1 组件 - 依赖注入问题

    我正在用 PHP 重构旧应用程序 我正在尝试使用 Symfony 依赖注入组件将服务注入控制器 或其他服务 但我不知道如何实现这一点 因为 symphony 文档比框架组件更适合使用框架 我已经有了自己的内核 包含所有服务和控制器的容器 控
  • 如何在 Api-Platform 中按链接属性过滤结果?

    我有一个User实体和一个Organisation实体 存在关系ManyToOne之间Booking and User ORM ManyToOne targetEntity App Entity User inversedBy bookin
  • 如何捕获 Symfony2/Silex 中的错误和异常?

    我想在我的 Silex 应用程序中捕获错误和异常 将它们包装在始终返回给客户端的自定义 JSON 响应中 我发现了三种基本方法 app gt error Symfony Component Debug ErrorHandler regist
  • Doctrine 生成实体命名空间问题?

    好吧 我对原则有最后一个问题 生成 实体命令 我运行以下命令 并得到预期的文件 src MyNamespace Bundle MyNamespaceBundle Resources config doctrine metadata orm
  • 是否可以共享 Symfony2 安装(一台服务器上的多个网站 [域])

    我想在一个根 服务器 下托管多个基于 Symfony2 的网站 是否可以共享 symfony 自己的文件 供应商等 有人知道教程吗 管理起来困难吗 AFAIK Symfony 安装大约有 600MB 我不想以冗余方式保存它 我看起来确实有可
  • phpunit --debug 仍然只显示点

    我想查看 phpunit 运行期间当前执行的测试 我用 debugparam 但仍然只得到点 phpunit debug PHPUnit 3 7 19 by Sebastian Bergmann Configuration read fro
  • Symfony:为什么 isInitialized 总是 false?

    我用教义查询了一个用户 customer this gt getDoctrine gt getRepository DemoUserBundle Customer gt find 1 但我得到了结果 顾客 1441 已初始化 错误的 ID
  • symfony docker 缓存文件的权限问题

    我有一个带有 docker compose 的 docker symfony 设置 它运行良好 除非我运行缓存 清除Web 服务器可以从控制台访问这些文件 我可以通过取消注释来规避权限问题掩码 0000 在控制台和 web app dev
  • Symfony 3新建项目报错

    我开始编写有关 Symfony 3 的教程 在使用以下命令创建新项目时遇到问题 php symfony phar new Symfony 我有这个错误 GuzzleHttp Exception RequestException Error
  • Doctrine2:入门教程“没有要处理的元数据类”

    我已经将本教程的第一部分运行了三遍 到目前为止 在这里或其他地方进行的大量搜索都无法帮助我使其发挥作用 我收到 没有要处理的元数据类 当我尝试时 php vendor bin doctrine orm schema tool update
  • 如何在 Symfony DateType 字段中设置日期范围?

    我需要在表单中的 dateType 字段的最小和最大日期上设置范围 我的代码在这里 public function buildForm FormBuilderInterface builder array options builder g
  • 具有数据库连接依赖性的自定义约束验证器 Symfony2

    我正在向 Symfony2 项目添加自定义验证查询 The docs http symfony com doc current cookbook validation custom constraint html缺乏完整的示例 并且我不确定
  • Doctrine DQL 从 join 返回平面数组

    我通过 DQL 中的常规 LEFT JOIN 选择 3 个实体 它们通过连接表关联 连接表还定义了实体以及带注释的关系 查询执行没有问题 但我的结果作为平面数组返回 我期望一个包含三个实体作为每个索引的数组元素的数组 SELECT e1 e
  • symfony easyadmin 自定义表单生成器

    我使用 symfony 3 4 和 easycorp easyadmin bundle 1 17 配置表单 easyadmin form fields type group label Basic Information icon enve

随机推荐