[
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