db-ddlutils-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Markus Windhager (JIRA)" <j...@apache.org>
Subject [jira] Created: (DDLUTILS-187) Invalid Type-Mapping: Oracle VARCHAR2(4000) --> MySQL VARCHAR(4000)
Date Mon, 03 Dec 2007 07:58:43 GMT
Invalid Type-Mapping: Oracle VARCHAR2(4000) --> MySQL VARCHAR(4000)
-------------------------------------------------------------------

                 Key: DDLUTILS-187
                 URL: https://issues.apache.org/jira/browse/DDLUTILS-187
             Project: DdlUtils
          Issue Type: Bug
          Components: Core (No specific database)
    Affects Versions: 1.0
         Environment: WinXP, Eclipse 3.2, Oracle 9g, MySQL 5.0.45, DDLUtils 1.0
            Reporter: Markus Windhager
            Assignee: Thomas Dudziak


I've got two databases: one Oracle and one MySQL.
Let's assume that the Oracle DB contains the following Table: MyTestTable ( MyTestColumn VARCHAR2(4000)
)
The MySQL Database is empty.

If I create a alterDatabase sql script, DDLUtils maps the VARCHAR2(4000) column from Oracle
to a VARCHAR(4000) column in MySQL, which is not correct.

Shouldn't the datatype comparison honor the different maximum datatype sizes?

My Code:

		final DataSource masterDs = ...; // DataSource to Oracle database
		final DataSource clientDs = ...; // DataSource to MySQL database
		
		final Platform masterPlatform = PlatformFactory.createNewPlatformInstance(masterDs);
		final Platform clientPlatform = PlatformFactory.createNewPlatformInstance(clientDs);
		
		final Database masterDb = masterPlatform.readModelFromDatabase(null, null, null, new String[]
{"TABLE"});
		final Database clientDb = clientPlatform.readModelFromDatabase(null, null, null, new String[]
{"TABLE"});
		
		final PrintWriter out = new PrintWriter(new FileOutputStream(new File("out/master2client.sql")));
		try
		{
			clientPlatform.getSqlBuilder().setWriter(out);
			clientPlatform.getSqlBuilder().alterDatabase(clientDb, masterDb, null);
		}
		finally
		{
			out.close();
		}


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message