cdbimport: breaking changes in configuration

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

cdbimport: breaking changes in configuration

Nikita Timofeev
Hi all,

I've pushed the first part of changes that will break v4.0 cdbimport
plugin configuration's compatibility:

1) Connection properties are now grouped under new tag <dataSource>.
This new tag can be unified later with DataSource configuration
already present in cayenne-project.xml.

2) reverseEngineering tag renamed to dbimport.
This is done because Reverse Engineering term is not very good by
itself and not aligns well with other places where importing database
structure is mentioned.

3) All properties except <map>, <adapter> and <dataSource> are moved
down under <dbimport> tag.
This is done with an idea in mind that cdbimport configuration can be
used as a part of project files and managed from the Modeler. So you
can only specify <map> and everything else will be found through it.

Here is what new configuration will look like:

  <configuration>
        <map>test.map.xml</map>
        <adapter>org.apache.cayenne.dba.derby.DerbyAdapter</adapter>
        <!-- Group all data-source related fields, they can later be
unified with data-source configured in project's DataNode -->
        <dataSource>
            <driver>org.apache.derby.jdbc.EmbeddedDriver</driver>
            <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url>
        </dataSource>

        <!-- Rename reverseEngineering to dbimport -->
        <dbimport>
            <!-- move all other top level settings here -->
            <skipRelationshipsLoading>false</skipRelationshipsLoading>

            <catalog>
                <name>TEST_CATALOG</name>
               <!-- remove confusing plural forms of tags (like
includeTables) -->
                <includeTable>
                    <pattern>table1</pattern>
                    <excludeColumn>.*XYZ</excludeColumn>
                </includeTable>
                <includeTable>table2</includeTable>
                <includeTable>table3</includeTable>
            </catalog>
        </dbimport>
    </configuration>

This is a major part of changes but there is a list of smaller ones.
You can find details in Apache JIRA:
https://issues.apache.org/jira/browse/CAY-2212

--
Best regards,
Nikita Timofeev