没有反向错误,没有创建schema.xml


propel 2, No errors from reverse, no schema.xml created

我昨天在我的web项目中安装了propel2 (~2.0@dev)和composer,并花了一个下午的时间试图让它来逆向工程我现有的mysql数据库。

首先,我试着按照说明:

http://propelorm.org/documentation/cookbook/working-with-existing-databases.html

但是一直得到"无法连接"错误:

./propel reverse "mysql:host={mysql domain};dbname={my db name};user={username};password={password}" --verbose
There was an error building XML from metadata: Unable to open connection
Schema reverse engineering failed.

所以我回到文档,并认为也许我需要一个propel.php配置文件。所以我从例子中复制,为我的数据库填写适当的信息,并提出了这个:

<?php
return [
    'propel' => [
        'database' => [
            'connections' => [
                'mpginfo' => [
                    'adapter'    => 'mysql',
                    'classname'  => 'Propel'Runtime'Connection'ConnectionWrapper',
                    'dsn'        => 'mysql:host={mysql domain};dbname={my db name}',
                    'user'       => '{username}',
                    'password'   => '{password}',
                    'attributes' => []
                ]
            ]
        ],
        'runtime' => [
            'defaultConnection' => 'mpginfo',
            'connections' => ['mpginfo']
        ],
        'reverse' => [
            'connection' => 'mpginfo'
        ],
        'generator' => [
            'defaultConnection' => 'mpginfo',
            'connections' => ['mpginfo']
        ]
    ]          
];

一旦我创建了这个propel.php文件并重新运行反向命令,我不再收到"无法打开连接"错误,但我也没有看到任何输出!我没有看到正在创建schema.xml文件,也没有看到任何指示该命令运行的内容。

只是为了仔细检查,我读了如何为CLI启用PDO_MYSQL ?我的服务器上已经安装并启用了PDO的mysql驱动程序:

$ php --ri pdo
PDO
PDO support => enabled
PDO drivers => sqlite, mysql

你知道我的设置有什么问题吗?我需要创建其他配置文件吗?如何获得一些输出以供进一步调试?

我保留了我的配置文件,像Vince建议的那样运行--verbose,并注意到我的schema.xml在generated-reversed-database/schema.xml中被删除了

删除配置文件,然后使用单引号。

$ propel reverse --verbose 'mysql:host=domain;dbname=mydbname;user=username;password=password'

我有完全相同的问题,这解决了它。