Search code examples
phpxmlsymfonycomposer-phppropel2

Invalid type for path "propel.database.connections.project.attributes". Expected array, but got string


I'm trying to create the SQL Schema with Propel ORM based on the schema.xml file with the command

.\vendor\bin\propel sql:build

I'm getting an error which is this:

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

Here is my propel.xml file:

<?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>

Here is my schema.xml file:

<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>

Solution

  • Fixed it by commenting out the <attributes></attributes> tag in propel.xml like this:

    <?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>