【问题标题】:OroCrm how to create migrations automatically without coding themOroCrm 如何在不编码的情况下自动创建迁移
【发布时间】:2021-12-31 11:11:27
【问题描述】:

我正在使用 OroCrm 创建我的自定义实体。我创建了自己的捆绑包 SmartMedCRMNewBundle。

<?php
namespace SmartMed\Bundle\CRMNewBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;

class SmartMedCRMNewBundle extends Bundle{}

在我在捆绑包下创建了我自己的实体 CustomEntity 之后

<?php
namespace SmartMed\Bundle\CRMNewBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Oro\Bundle\AccountBundle\Entity\Account;
use Oro\Bundle\EntityConfigBundle\Metadata\Annotation\Config;
use Oro\Bundle\EntityConfigBundle\Metadata\Annotation\ConfigField;
use Oro\Bundle\UserBundle\Entity\User;

/**
 * @ORM\Entity(repositoryClass=CustomEntityRepository::class)
 * @ORM\Table(name="custom_entity")
 * @ORM\HasLifecycleCallbacks()
*/
class CustomEntity
{
/**attributes**/
}

在我使用命令php bin/console oro:migration:dump --bundle=SmartMedCRMNewBundle &gt; SmartMedCRMNewBundleInstaller.php 在 SmartMed\Bundle\CRMNewBundle\Migrations\Schema 下创建安装程序之后。

成功生成安装程序后,我执行了命令php bin/console oro:migrations:load --force,它成功加载了我的安装程序。

现在,当我想在我的实体和数据库中进行更新时,我发现自己有义务编写自己的迁移代码来负责更新。

我想知道是否有其他方法可以像在教义/迁移中那样自动生成这些迁移。

我正在使用 OroCrm 4.2.7 版

【问题讨论】:

    标签: php symfony orocrm


    【解决方案1】:

    没有用于生成版本化迁移的 OOB 工具。唯一可用的命令是 oro:migration:dump 但它只适用于安装程序。

    【讨论】:

    • 那么当有人从 UI 和其他编程方式(在捆绑实体内)添加新字段时,自动化迁移的解决方案是什么
    • 如果是产品属性 - 您可以使用导入/导出功能。对于其他情况,该功能未实现。我知道迁移 UI 更改的唯一方法是手动迁移部分数据库
    猜你喜欢
    • 2019-08-18
    • 1970-01-01
    • 1970-01-01
    • 2019-07-24
    • 2010-09-24
    • 1970-01-01
    • 2015-05-26
    • 2016-09-04
    • 1970-01-01
    相关资源
    最近更新 更多