propelorm / Propel2

Propel2 is an open-source high-performance Object-Relational Mapping (ORM) for modern PHP
http://propelorm.org/
MIT License
1.26k stars 398 forks source link

Cannot fetch TableMap for undefined table phpName - Same tablenames in diferent namespaces #1206

Open Diegovap opened 8 years ago

Diegovap commented 8 years ago

I have two schemas separated in two namespaces that using diferent conections.

it throws an exception in the second line when i do:

$q1=\model\stats\ProductQuery::create()->find(AppConfiguration::getStatsConnection());
$q2=\model\eshop\ProductQuery::create()->findPK(12,AppConfiguration::getEshopConnection());

The exception is: Propel\Runtime\Map\Exception\TableNotFoundException[52] 'message'=>'Cannot fetch TableMap for undefined table phpName: \model\eshop\Product.'(length=72) 'string' (Exception)=>string ''(length=0) 'code' =>int 0 'file' =>string '/home/ac/git/eshop_devel/app/vendorCore/Propel/Runtime/Map/DatabaseMap.php'(length=74) 'line' =>int 209

the problem i think its in DatabaseMap Object:

Array
(
    [default] => Propel\Runtime\Map\DatabaseMap Object
        (
            [name:protected] => default
            [tables:protected] => Array
                (
                    [product] => model\stats\Map\ProductTableMap Object
                        (
                            [columns:protected] => Array
                                (
                                    [PKZ] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => BIGINT
                                            [size:protected] => 
                                            [pk:protected] => 1
                                            [notNull:protected] => 1
                                            [defaultValue:protected] => 
                                            [relatedTableName:protected] => 
                                            [relatedColumnName:protected] => 
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => pkz
                                            [phpName:protected] => Pkz
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                    [IDPRODUCT] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => BIGINT
                                            [size:protected] => 
                                            [pk:protected] => 
                                            [notNull:protected] => 1
                                            [defaultValue:protected] => 
                                            [relatedTableName:protected] => 
                                            [relatedColumnName:protected] => 
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => idproduct
                                            [phpName:protected] => Idproduct
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                    [CLIENTIP_IDCLIENTIP] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => BIGINT
                                            [size:protected] => 
                                            [pk:protected] => 
                                            [notNull:protected] => 1
                                            [defaultValue:protected] => 
                                            [relatedTableName:protected] => clientIP
                                            [relatedColumnName:protected] => idclientIP
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => clientIP_idclientIP
                                            [phpName:protected] => ClientipIdclientip
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                    [INSTANCE] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => INTEGER
                                            [size:protected] => 
                                            [pk:protected] => 
                                            [notNull:protected] => 
                                            [defaultValue:protected] => 
                                            [relatedTableName:protected] => 
                                            [relatedColumnName:protected] => 
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => instance
                                            [phpName:protected] => Instance
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                    [DATE] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => TIMESTAMP
                                            [size:protected] => 
                                            [pk:protected] => 
                                            [notNull:protected] => 
                                            [defaultValue:protected] => CURRENT_TIMESTAMP
                                            [relatedTableName:protected] => 
                                            [relatedColumnName:protected] => 
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => date
                                            [phpName:protected] => Date
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                )

                            [columnsByPhpName:protected] => Array
                                (
                                    [Pkz] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => BIGINT
                                            [size:protected] => 
                                            [pk:protected] => 1
                                            [notNull:protected] => 1
                                            [defaultValue:protected] => 
                                            [relatedTableName:protected] => 
                                            [relatedColumnName:protected] => 
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => pkz
                                            [phpName:protected] => Pkz
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                    [Idproduct] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => BIGINT
                                            [size:protected] => 
                                            [pk:protected] => 
                                            [notNull:protected] => 1
                                            [defaultValue:protected] => 
                                            [relatedTableName:protected] => 
                                            [relatedColumnName:protected] => 
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => idproduct
                                            [phpName:protected] => Idproduct
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                    [ClientipIdclientip] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => BIGINT
                                            [size:protected] => 
                                            [pk:protected] => 
                                            [notNull:protected] => 1
                                            [defaultValue:protected] => 
                                            [relatedTableName:protected] => clientIP
                                            [relatedColumnName:protected] => idclientIP
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => clientIP_idclientIP
                                            [phpName:protected] => ClientipIdclientip
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                    [Instance] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => INTEGER
                                            [size:protected] => 
                                            [pk:protected] => 
                                            [notNull:protected] => 
                                            [defaultValue:protected] => 
                                            [relatedTableName:protected] => 
                                            [relatedColumnName:protected] => 
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => instance
                                            [phpName:protected] => Instance
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                    [Date] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => TIMESTAMP
                                            [size:protected] => 
                                            [pk:protected] => 
                                            [notNull:protected] => 
                                            [defaultValue:protected] => CURRENT_TIMESTAMP
                                            [relatedTableName:protected] => 
                                            [relatedColumnName:protected] => 
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => date
                                            [phpName:protected] => Date
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                )

                            [dbMap:protected] => Propel\Runtime\Map\DatabaseMap Object
 *RECURSION*
                            [tableName:protected] => product
                            [phpName:protected] => Product
                            [classname:protected] => \model\stats\Product
                            [package:protected] => model.stats
                            [useIdGenerator:protected] => 1
                            [isSingleTableInheritance:protected] => 
                            [isCrossRef:protected] => 
                            [primaryKeys:protected] => Array
                                (
                                    [pkz] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => BIGINT
                                            [size:protected] => 
                                            [pk:protected] => 1
                                            [notNull:protected] => 1
                                            [defaultValue:protected] => 
                                            [relatedTableName:protected] => 
                                            [relatedColumnName:protected] => 
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => pkz
                                            [phpName:protected] => Pkz
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                )

                            [foreignKeys:protected] => Array
                                (
                                    [clientIP_idclientIP] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => BIGINT
                                            [size:protected] => 
                                            [pk:protected] => 
                                            [notNull:protected] => 1
                                            [defaultValue:protected] => 
                                            [relatedTableName:protected] => clientIP
                                            [relatedColumnName:protected] => idclientIP
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => clientIP_idclientIP
                                            [phpName:protected] => ClientipIdclientip
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                )

                            [relations:protected] => Array
                                (
                                )

                            [relationsBuilt:protected] => 
                            [pkInfo:protected] => 
                            [identifierQuoting:protected] => 
                        )

                )

            [tablesByPhpName:protected] => Array
                (
                    [\model\stats\Product] => model\stats\Map\ProductTableMap Object
                        (
                            [columns:protected] => Array
                                (
                                    [PKZ] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => BIGINT
                                            [size:protected] => 
                                            [pk:protected] => 1
                                            [notNull:protected] => 1
                                            [defaultValue:protected] => 
                                            [relatedTableName:protected] => 
                                            [relatedColumnName:protected] => 
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => pkz
                                            [phpName:protected] => Pkz
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                    [IDPRODUCT] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => BIGINT
                                            [size:protected] => 
                                            [pk:protected] => 
                                            [notNull:protected] => 1
                                            [defaultValue:protected] => 
                                            [relatedTableName:protected] => 
                                            [relatedColumnName:protected] => 
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => idproduct
                                            [phpName:protected] => Idproduct
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                    [CLIENTIP_IDCLIENTIP] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => BIGINT
                                            [size:protected] => 
                                            [pk:protected] => 
                                            [notNull:protected] => 1
                                            [defaultValue:protected] => 
                                            [relatedTableName:protected] => clientIP
                                            [relatedColumnName:protected] => idclientIP
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => clientIP_idclientIP
                                            [phpName:protected] => ClientipIdclientip
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                    [INSTANCE] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => INTEGER
                                            [size:protected] => 
                                            [pk:protected] => 
                                            [notNull:protected] => 
                                            [defaultValue:protected] => 
                                            [relatedTableName:protected] => 
                                            [relatedColumnName:protected] => 
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => instance
                                            [phpName:protected] => Instance
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                    [DATE] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => TIMESTAMP
                                            [size:protected] => 
                                            [pk:protected] => 
                                            [notNull:protected] => 
                                            [defaultValue:protected] => CURRENT_TIMESTAMP
                                            [relatedTableName:protected] => 
                                            [relatedColumnName:protected] => 
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => date
                                            [phpName:protected] => Date
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                )

                            [columnsByPhpName:protected] => Array
                                (
                                    [Pkz] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => BIGINT
                                            [size:protected] => 
                                            [pk:protected] => 1
                                            [notNull:protected] => 1
                                            [defaultValue:protected] => 
                                            [relatedTableName:protected] => 
                                            [relatedColumnName:protected] => 
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => pkz
                                            [phpName:protected] => Pkz
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                    [Idproduct] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => BIGINT
                                            [size:protected] => 
                                            [pk:protected] => 
                                            [notNull:protected] => 1
                                            [defaultValue:protected] => 
                                            [relatedTableName:protected] => 
                                            [relatedColumnName:protected] => 
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => idproduct
                                            [phpName:protected] => Idproduct
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                    [ClientipIdclientip] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => BIGINT
                                            [size:protected] => 
                                            [pk:protected] => 
                                            [notNull:protected] => 1
                                            [defaultValue:protected] => 
                                            [relatedTableName:protected] => clientIP
                                            [relatedColumnName:protected] => idclientIP
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => clientIP_idclientIP
                                            [phpName:protected] => ClientipIdclientip
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                    [Instance] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => INTEGER
                                            [size:protected] => 
                                            [pk:protected] => 
                                            [notNull:protected] => 
                                            [defaultValue:protected] => 
                                            [relatedTableName:protected] => 
                                            [relatedColumnName:protected] => 
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => instance
                                            [phpName:protected] => Instance
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                    [Date] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => TIMESTAMP
                                            [size:protected] => 
                                            [pk:protected] => 
                                            [notNull:protected] => 
                                            [defaultValue:protected] => CURRENT_TIMESTAMP
                                            [relatedTableName:protected] => 
                                            [relatedColumnName:protected] => 
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => date
                                            [phpName:protected] => Date
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                )

                            [dbMap:protected] => Propel\Runtime\Map\DatabaseMap Object
 *RECURSION*
                            [tableName:protected] => product
                            [phpName:protected] => Product
                            [classname:protected] => \model\stats\Product
                            [package:protected] => model.stats
                            [useIdGenerator:protected] => 1
                            [isSingleTableInheritance:protected] => 
                            [isCrossRef:protected] => 
                            [primaryKeys:protected] => Array
                                (
                                    [pkz] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => BIGINT
                                            [size:protected] => 
                                            [pk:protected] => 1
                                            [notNull:protected] => 1
                                            [defaultValue:protected] => 
                                            [relatedTableName:protected] => 
                                            [relatedColumnName:protected] => 
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => pkz
                                            [phpName:protected] => Pkz
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                )

                            [foreignKeys:protected] => Array
                                (
                                    [clientIP_idclientIP] => Propel\Runtime\Map\ColumnMap Object
                                        (
                                            [type:protected] => BIGINT
                                            [size:protected] => 
                                            [pk:protected] => 
                                            [notNull:protected] => 1
                                            [defaultValue:protected] => 
                                            [relatedTableName:protected] => clientIP
                                            [relatedColumnName:protected] => idclientIP
                                            [table:protected] => model\stats\Map\ProductTableMap Object
 *RECURSION*
                                            [columnName:protected] => clientIP_idclientIP
                                            [phpName:protected] => ClientipIdclientip
                                            [valueSet:protected] => Array
                                                (
                                                )

                                            [isPkString:protected] => 
                                        )

                                )

                            [relations:protected] => Array
                                (
                                )

                            [relationsBuilt:protected] => 
                            [pkInfo:protected] => 
                            [identifierQuoting:protected] => 
                        )

                )

        )

)

my propel config:

$serviceContainer = \Propel\Runtime\Propel::getServiceContainer();
$serviceContainer->checkVersion('2.0.0-dev');
$serviceContainer->setAdapterClass('default', 'mysql');
$serviceContainer->setAdapterClass('stats', 'mysql');
$manager = new \Propel\Runtime\Connection\ConnectionManagerSingle();
$db=AppConfiguration::getInstance()->database;
$manager->setConfiguration(array (
  'dsn' => 'mysql:host='.$db["host"].';dbname='.$db["name"],
  'user' => $db["user"],
  'password' => $db["pwd"],
  'settings' =>
  array (
    'charset' => $db["charset"],
    'queries' =>
    array (
    ),
  ),
  'classname' => '\\Propel\\Runtime\\Connection\\ConnectionWrapper',
));
$manager->setName('default');
$serviceContainer->setConnectionManager('default', $manager);
$manager = new \Propel\Runtime\Connection\ConnectionManagerSingle();
$manager->setConfiguration(array (
  'dsn' => 'mysql:host='.$db["host"].';dbname='.$db["stats"],
  'user' => $db["user"],
  'password' => $db["pwd"],
  'settings' =>
  array (
    'charset' => $db["charset"],
    'queries' =>
    array (
    ),
  ),
  'classname' => '\\Propel\\Runtime\\Connection\\ConnectionWrapper',
));
$manager->setName('stats');
$serviceContainer->setConnectionManager('stats', $manager);
$serviceContainer->setDefaultDatasource('default');
Joeper214 commented 6 years ago

I also encountered the above problem.

dereuromark commented 4 years ago

Is someone able to make a PR here with suggested changes?