0

When is declared schema that not equal to conection database name it ignored. For example i have 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
{

When i try to migrate its don't trow error but its also generate script for schema="public" and not for schema="private", how to generate scrip and relations betwen 2 tables

My doctrine.yaml was:

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

and transformed into:

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

  • Post your doctrine.yaml configuration. Thanks – SilvioQ Jan 24 '20 at 18:00
  • SilvioQ i added my doctrine.yaml config to question. – Vladyslav Levenets Jan 27 '20 at 10:33
  • Did you try to change --em option in your doctrine:migration:migrate command? Check https://github.com/doctrine/DoctrineMigrationsBundle/blob/master/Command/MigrationsMigrateDoctrineCommand.php#L28 – SilvioQ Jan 28 '20 at 18:05
  • SilvioQ problem when changing also `--em` is all migrations is stored in same folder and when you try to do migrations its cause problem. – Vladyslav Levenets Jan 29 '20 at 09:26
  • May be this a good response ... https://stackoverflow.com/a/19134519/3497902 They uses schema_filter and skip clause in migration for determine if the query is relating to current database. – SilvioQ Jan 29 '20 at 15:36

0 Answers0