Uploaded image for project: 'Doctrine 2 - ORM'
  1. Doctrine 2 - ORM
  2. DDC-2269

Mysql supports cross database DDL's and JOIN's, but is ignored by Doctrine

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Invalid
    • Affects Version/s: 2.3.2
    • Fix Version/s: None
    • Component/s: Mapping Drivers, ORM, Tools
    • Security Level: All
    • Labels:
      None
    • Environment:
      PHP 5.4.10
      Mysql: 5.5.25 Source distribution
      Doctrine 2.2

      Description

      Currently, MySQL supports cross database DDL and JOIN's, but the MySQLPlataform returns false for supportsSchemas() and canEmulateSchemas(), so the foreign keys and create's statements are removed. Just commenting these following lines works perfectly:

      if ( ! $this->platform->supportsSchemas() && ! $this->platform->canEmulateSchemas() ) {
      $schema->visit(new RemoveNamespacedAssets());
      }

      The only issue is that the table diff does not take into account the cross database structure. So, using the schema tool to update the database is always considered that the database was not created yet, throwing an exception.

        Activity

        Hide
        beberlei Benjamin Eberlei added a comment -

        Schemas is something different, it is what PostgreSQL and Oracle have.

        Show
        beberlei Benjamin Eberlei added a comment - Schemas is something different, it is what PostgreSQL and Oracle have.

          People

          • Assignee:
            beberlei Benjamin Eberlei
            Reporter:
            marcospassos Marcos Passos
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: