Когда объявляется схема, не совпадающая с именем базы данных соединений, она игнорируется. Например, у меня есть 2 Entity: Users
:
namespace App\Entity\DbPublic;
/**
* Users
*
* @ORM\Table(name="users", schema="public")
* @ORM\Entity(repositoryClass="App\Repository\DwPublic\UsersRepository")
*/
class Users
{
UsersData
:
namespace App\Entity\DbPrivate;
/**
* UsersData
*
* @ORM\Table(name="users_data", schema="private")
* @ORM\Entity(repositoryClass="App\Repository\DbPublic\UsersDataRepository")
*/
class Users
{
Когда я пытаюсь выполнить миграцию, не выдает ошибку, но также генерирует скрипт для schema="public"
и не для schema="private"
, как создать сценарий и отношения между двумя таблицами
Мой doctrine.yaml
был:
doctrine:
dbal:
url: '%env(resolve:DATABASE_URL)%'
orm:
auto_generate_proxy_classes: true
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
auto_mapping: true
mappings:
App:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App
и преобразован в:
doctrine:
dbal:
default_connection: default
connections:
default:
# configure these for your database server
driver: pdo_mysql
host: '%env(DATABASE_HOST)%'
port: '%env(DATABASE_PORT)%'
user: '%env(DATABASE_USER)%'
password: '%env(DATABASE_PASS)%'
dbname: '%env(DATABASE_NAME_MASTER)%'
charset: utf8mb4
db_public:
# configure these for your database server
driver: pdo_mysql
host: '%env(DATABASE_HOST)%'
port: '%env(DATABASE_PORT)%'
user: '%env(DATABASE_USER)%'
password: '%env(DATABASE_PASS)%'
dbname: '%env(DATABASE_NAME_MASTER)%'
charset: utf8mb4
db_private:
# configure these for your database server
driver: pdo_mysql
host: '%env(DATABASE_HOST)%'
port: '%env(DATABASE_PORT)%'
user: '%env(DATABASE_USER)%'
password: '%env(DATABASE_PASS)%'
dbname: '%env(DATABASE_NAME_PRIVATE)%'
charset: utf8mb4
orm:
default_entity_manager: default
entity_managers:
default:
connection: default
mappings:
App:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App
db_public:
connection: db_public
mappings:
App:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App
db_private:
connection: db_private
mappings:
App:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App