OroCRM cómo crear migraciones automáticamente sin programarlas.
Estoy creando mis propias entidades personalizadas con OroCrm. He creado mi propio paquete llamado SmartMedCRMNewBundle.
<?php
namespace SmartMed\Bundle\CRMNewBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class SmartMedCRMNewBundle extends Bundle{}
Después de crear el paquete, he creado mi propia entidad llamada CustomEntity bajo el paquete.
<?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
{
/**atributos**/
}
Después de crear la entidad, he creado un instalador bajo el directorio SmartMed\Bundle\CRMNewBundle\Migrations\Schema utilizando el comando php bin/console oro:migration:dump --bundle=SmartMedCRMNewBundle > SmartMedCRMNewBundleInstaller.php
.
Después de la generación exitosa del instalador, ejecuté el comando php bin/console oro:migrations:load --force
y cargó mi instalador correctamente.
Ahora, cuando quiero realizar actualizaciones en mi entidad y en mi base de datos, me veo obligado a codificar mi propia migración responsable de la actualización.
Quiero saber si hay otra forma de generar automáticamente estas migraciones, como en doctrine/migrations.
Estoy trabajando con OroCrm versión 4.2.7.
davy.ai
La versión 4.2.7 de OroCrm admite DoctrineMigrationsBundle, que proporciona un conjunto de herramientas para la gestión de migraciones de esquema de base de datos a través de Doctrine Migrations.
Para generar automáticamente migraciones para las actualizaciones en su entidad y base de datos, puede utilizar el siguiente comando:
Este comando comparará el esquema actual de su base de datos con los metadatos de sus entidades y generará un archivo de migración con los cambios necesarios.
Además, puede utilizar el siguiente comando para ejecutar las migraciones generadas:
Esto aplicará cualquier archivo de migración pendiente en su base de datos.
Tenga en cuenta que para utilizar estos comandos deberá tener instalado y configurado DoctrineMigrationsBundle en su aplicación OroCrm.
Para instalar y configurar DoctrineMigrationsBundle, puede seguir la documentación oficial de Symfony: https://symfony.com/doc/current/bundles/DoctrineMigrationsBundle/index.html