0

我正在尝试使用基于 schema.xml 文件的 Propel ORM 创建 SQL Schema

.\vendor\bin\propel sql:build

我收到一个错误,这是:

[Symfony\Component\Config\Definition\Exception\InvalidTypeException]
Invalid type for path "propel.database.connections.project.attributes". Expected array, but got string

这是我的 propel.xml 文件:

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<config>
    <propel>
        <database>
            <connections>
                <connection id="project">
                    <adapter>mysql</adapter>
                    <classname>Propel\Runtime\Connection\ConnectionWrapper</classname>
                    <dsn>mysql:host=localhost;dbname=project</dsn>
                    <user>root</user>
                    <password></password>
                    <attributes></attributes>
                </connection>
            </connections>
        </database>
        <runtime>
            <defaultConnection>project</defaultConnection>
            <connection>project</connection>
        </runtime>
        <generator>
            <defaultConnection>project</defaultConnection>
            <connection>project</connection>
        </generator>
    </propel>
</config>

这是我的 schema.xml 文件:

<database name="project" defaultIdMethod="native">
    <table name="user" phpName="User">
        <column name="id" type="integer" size="255" required="true" primarykey="true" autoincrement="true"></column>
        <column name="username" type="varchar" size="255" required="true"></column>
        <column name="password" type="varchar" size="255" required="true"></column>
        <column name="email" type="varchar" size="255" required="true"></column>
    </table>
</database>
4

1 回答 1

0

通过注释掉<attributes></attributes>propel.xml 中的标签来修复它,如下所示:

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<config>
    <propel>
        <database>
            <connections>
                <connection id="project">
                    <adapter>mysql</adapter>
                    <classname>Propel\Runtime\Connection\ConnectionWrapper</classname>
                    <dsn>mysql:host=localhost;dbname=project</dsn>
                    <user>root</user>
                    <password></password>
                    <!--
                    <attributes></attributes>
                    -->
                </connection>
            </connections>
        </database>
        <runtime>
            <defaultConnection>project</defaultConnection>
            <connection>project</connection>
        </runtime>
        <generator>
            <defaultConnection>project</defaultConnection>
            <connection>project</connection>
        </generator>
    </propel>
</config>
于 2017-09-22T16:50:47.110 回答