Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.0
-
None
-
WinXP
Description
If you run the databaseToDdl task against Oracle 9.2 (using the oracle9 identifier), any unicode columns (e.g. NVARCHAR) come out in the XML as "OTHER". This means that it's impossible to recreate the database from the XML. Even "search and replace" doesn't work as BLOBs are read in as "OTHER" too, so there's no way to tell them apart (except manually with the real database in front of you!).
This is probably related to DDLUTILS-108. For creating a database from the XML, the most useful solution would be to allow a flag on the task which allows you to specify whether to use unicode versions or not. This would be on the task, not in the XML file. As discussed in DDLUTILS-108, databases tend to be set up with one language in mind and you might need to create schemas in different environments/languages from the same XML, so the XML needs to be language/unicode neutral. The situation we're in - maintaining a multi-lingual web application (where translations are in the database) - needs to use unicode columns. It is an all or nothing situation though - I don't see why you would choose to have some columns unicode (or a specific language) and not others - so a global setting outside of the XML would be fine.
For reading the DDL from the database, it's vital that unicode columns are recognised (i.e. NVARCHAR is recognised as JDBC VARCHAR). This is the important bit. If the columns aren't recognised to start with, then it's all over for automated database maintenance.
Attachments
Issue Links
- is related to
-
DDLUTILS-108 Unicode text fields (NTEXT, NVARCHAR, and NCHAR) for MSSQL
- Open