[ 
https://issues.apache.org/jira/browse/DDLUTILS-275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13249790#comment-13249790
 ] 

Sergio Cruz commented on DDLUTILS-275:
--------------------------------------

Hi Masker.
Of course I tested before but I think I didn't explain myself correctly.

Here it goes:

I have checked out from Subversion both revisions: trunk and tag 1.0

- http://svn.apache.org/repos/asf/db/ddlutils/trunk/
- http://svn.apache.org/repos/asf/db/ddlutils/tags/1.0/

I have created the bin distros via "ant bin-archive" for both revisions just to 
get the complete packages with all the nedded dependencies.

I have created a mysql db called test_db:

DROP DATABASE IF EXISTS test_db;
CREATE DATABASE test_db;
USE test_db;
CREATE TABLE `test_table` (`col_bit` TINYINT(1));

I use the same ant script to dump the ddl with this task.

    <target name="database-dump" description="DDL Dump">
        <taskdef name="databaseToDdl" 
classname="org.apache.ddlutils.task.DatabaseToDdlTask">
            <classpath refid="runtime-classpath"/>
        </taskdef>
        <echo 
message="jdbc:mysql://${mysql.host.name}:${mysql.host.port}/${mysql.database.name}}"/>
        <databaseToDdl modelName="MyModel">
            <database   
url="jdbc:mysql://${mysql.host.name}:${mysql.host.port}/${mysql.database.name}"
                        driverClassName="com.mysql.jdbc.Driver"
                        username="${mysql.user.name}"
                        password="${mysql.user.password}"/>
            <writeSchemaToFile outputFile="${ddlutils.struct.file.name}"/>
            <writeDataToFile outputFile="${ddlutils.data.file.name}"/>
        </databaseToDdl>
    </target>

After executing that script on both revisions I get the following output

Tag V-1.0
=========
~/tmp/apache-ddlutils/v-1.0 $ ant -propertyfile build.properties database-dump 
Buildfile: /home/scmoral/tmp/apache-ddlutils/v-1.0/build.xml

database-dump:
     [echo] jdbc:mysql://localhost:3306/test_db
[databaseToDdl] Written schema to 
/home/scmoral/tmp/apache-ddlutils/v-1.0/struct.xml
[databaseToDdl] Written data XML to 
file/home/scmoral/tmp/apache-ddlutils/v-1.0/data.xml

BUILD SUCCESSFUL
Total time: 2 seconds

The ddl file generated was as follows:

<?xml version="1.0"?>
<!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database";>
  <database name="MyModel">
    <table name="test_table">
      <column name="col_bit" primaryKey="false" required="false" type="BIT" 
autoIncrement="false"/>
    </table>
  </database>

TRUNK
=======
~/tmp/apache-ddlutils/v-1.1 $ ant -propertyfile build.properties database-dump 
Buildfile: /home/scmoral/tmp/apache-ddlutils/v-1.1/build.xml

database-dump:
     [echo] jdbc:mysql://localhost:3306/test_db

BUILD FAILED
/home/scmoral/tmp/apache-ddlutils/v-1.1/build.xml:23: Could not read the schema 
from the specified database: 
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 
'test_db.test\_table' doesn't exist

Total time: 1 second

The same version of mysql jdbc driver was used for both tests 
(mysql-connector-java-5.1.18.jar)

Hope that helps.
                
> platform.readModelFromDatabase(name) is not working if one of the table names 
> contains underscore.
> --------------------------------------------------------------------------------------------------
>
>                 Key: DDLUTILS-275
>                 URL: https://issues.apache.org/jira/browse/DDLUTILS-275
>             Project: DdlUtils
>          Issue Type: Bug
>          Components: Core - MySql
>    Affects Versions: 1.1
>         Environment: Ubuntu 10.02, 64 bit, JDK 1.6.0_20, probably all others 
> as well.
>            Reporter: Masker71
>            Assignee: Thomas Dudziak
>            Priority: Blocker
>              Labels: patch
>
> org.apache.ddlutils.platform.JdbcModelReader
> lines 859, 900, 1007
>             pkData = 
> metaData.getPrimaryKeys(metaData.escapeForSearch(tableName));
>             fkData = 
> metaData.getForeignKeys(metaData.escapeForSearch(tableName));
>             indexData = 
> metaData.getIndices(metaData.escapeForSearch(tableName), false, false);
> should be replaced to:
>             pkData = metaData.getPrimaryKeys(tableName);
>             fkData = metaData.getForeignKeys(tableName);
>             indexData = metaData.getIndices(tableName, false, false);
> According to MySQL 5 documentation "show create table" accepts table name, 
> not table name pattern.
> http://dev.mysql.com/doc/refman/5.0/en/show-create-table.html
> If any of the table names contain underline this line bombs:
>               Database db = platform.readModelFromDatabase( "test" );

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to