Symfony 4.1 - Два EntityManager. Миграция идет дважды на втором EntityManager - PullRequest
0 голосов
/ 01 ноября 2018

Я следовал инструкциям на этой странице: https://symfony.com/doc/current/doctrine/multiple_entity_managers.html

И мой файл doctrine.yaml выглядит так:

doctrine:
    dbal:
        default_connection: one
        connections:
            one:
                # configure these for your database server
                url: '%env(DATABASE_ONE_URL)%'
                driver: 'pdo_mysql'
                server_version: '5.7'
                charset: utf8mb4
            two:
                # configure these for your database server
                url: '%env(DATABASE_TWO_URL)%'
                driver: 'pdo_mysql'
                server_version: '5.7'
                charset: utf8mb4

    orm:
        default_entity_manager: one
        entity_managers:
            one:
                connection: one
                mappings:
                    One:
                        is_bundle: false
                        type: annotation
                        dir: '%kernel.project_dir%/src/Entity/One'
                        prefix: 'App\Entity\One'
                        alias: One
            two:
                connection: two
                mappings:
                    Two:
                        is_bundle: false
                        type: annotation
                        dir: '%kernel.project_dir%/src/Entity/Two'
                        prefix: 'App\Entity\Two'
                        alias: Two

У меня есть каталог One и Two внутри моего каталога Entity с простым классом Entity в обоих:

A Человек в Один :

<?php

namespace App\Entity\One;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="person")
 */
class Person
{
    /**
     * @var int
     *
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(type="string")
     */
    private $name;

    {Getters and setters ...}
}

A Сообщение в Два :

<?php

namespace App\Entity\Two;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="post")
 */
class Post
{
    /**
     * @var int
     *
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(type="string")
     */
    private $title;


    {Getters and setters ...}
}

Когда я запускаю bin/console doctrine:migrations:diff и bin/console doctrine:migrations:migrate, Person добавляется в базу данных One правильно.

Когда я запускаю bin/console doctrine:migrations:diff --em=two и bin/console doctrine:migrations:migrate --em=two, выполняется и миграция Person для One , а в базе данных Two имеется Персона и Страница Таблица.

Я не могу понять, где я ошибаюсь с этим

...