es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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.

Tags:  , ,

Answer

  1. Avatar for 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:

    php bin/console doctrine:migrations:diff
    

    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:

    php bin/console doctrine:migrations:migrate
    

    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

Comments are closed.