You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ddlutils-user@db.apache.org by Laurent ROCHE <la...@yahoo.com> on 2007/01/10 01:47:04 UTC
Re : Re : FK troubles Identity
Hi Tom,
That's exactly what I want to do: import the data with the value in data.xml ... but that does not work ! ! :-(
Here is an example of my problems:
I have included the table definition In PostgreSQL (classes.sql)
When running ant import-derby
I get the following (for that table) debug messages:
============= Ant DEBUG Messages begin ==============
[ddlToDatabase] Defering insertion of row classes:class_id=4 because it is waiting for:
[ddlToDatabase] classes:class_id=1
[ddlToDatabase] Defering insertion of row classes:class_id=7 because it is waiting for:
[ddlToDatabase] classes:class_id=1
[ddlToDatabase] Defering insertion of row classes:class_id=3 because it is waiting for:
[ddlToDatabase] classes:class_id=2
[ddlToDatabase] Defering insertion of row classes:class_id=5 because it is waiting for:
[ddlToDatabase] classes:class_id=3
[ddlToDatabase] Defering insertion of row classes:class_id=8 because it is waiting for:
[ddlToDatabase] classes:class_id=7
[ddlToDatabase] Defering insertion of row classes:class_id=9 because it is waiting for:
[ddlToDatabase] classes:class_id=6
[ddlToDatabase] Defering insertion of row classes:class_id=10 because it is waiting for:
[ddlToDatabase] classes:class_id=4
[ddlToDatabase] About to execute SQL: INSERT INTO classes (parent_id, class_ucd, class_nm, class_snm, comments) VALUES (
?, ?, ?, ?, ?)
[ddlToDatabase] Inserted bean classes:class_id=1
[ddlToDatabase] Defering insertion of row classes:class_id=4 because it is waiting for:
[ddlToDatabase] classes:class_id=1
[ddlToDatabase] Inserted deferred row classes:class_id=4
[ddlToDatabase] Defering insertion of row classes:class_id=7 because it is waiting for:
[ddlToDatabase] classes:class_id=1
[ddlToDatabase] Inserted deferred row classes:class_id=7
[ddlToDatabase] About to execute SQL: INSERT INTO classes (parent_id, class_ucd, class_nm, class_snm, comments) VALUES (
?, ?, ?, ?, ?)
[ddlToDatabase] Inserted bean classes:class_id=2
[ddlToDatabase] Defering insertion of row classes:class_id=3 because it is waiting for:
[ddlToDatabase] classes:class_id=2
[ddlToDatabase] Inserted deferred row classes:class_id=3
[ddlToDatabase] About to execute SQL: INSERT INTO classes (parent_id, class_ucd, class_nm, class_snm, comments) VALUES (
?, ?, ?, ?, ?)
[ddlToDatabase] Inserted bean classes:class_id=3
[ddlToDatabase] Defering insertion of row classes:class_id=9 because it is waiting for:
[ddlToDatabase] classes:class_id=3
[ddlToDatabase] Inserted deferred row classes:class_id=9
[ddlToDatabase] About to execute SQL: INSERT INTO classes (parent_id, class_ucd, class_nm, class_snm, comments) VALUES (
?, ?, ?, ?, ?)
[ddlToDatabase] Inserted bean classes:class_id=4
[ddlToDatabase] About to execute SQL: INSERT INTO classes (parent_id, class_ucd, class_nm, class_snm, comments) VALUES (
?, ?, ?, ?, ?)
[ddlToDatabase] Inserted bean classes:class_id=5
============= Ant DEBUG Messages end ==============
and only 5 rows (out of 12) are inserted in Derby and with the wrong iDs:
ij> select * from CLASSES ;
CLASS&|PAREN&|CLASS_UCD |CLASS_NM
|CLASS_SNM |COMMENTS
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------
1 |NULL |EN |Engines And Propulsions
|Engines |NULL
2 |NULL |HATC |Hatches and Ports
|Hatches and Ports |NULL
3 |NULL |SCHE |Special Cargo Handling Equipment
|Cargo Handling |NULL
4 |NULL |Med |Medical
|Medical |NULL
5 |4 |MedMed |Medecines
|Medecines |NULL
I can not figure out what I am doing wrong.
Any ideas ?
Cheers,
L@u
The Computing Froggy
----- Message d'origine ----
De : Thomas Dudziak <to...@gmail.com>
À : ddlutils-user@db.apache.org
Envoyé le : Mardi, 9 Janvier 2007, 17h25mn 24s
Objet : Re: Re : FK troubles Identity
On 1/9/07, Laurent ROCHE <la...@yahoo.com> wrote:
> It is still not working properly i.e. not using ID from the data.
> Here is the related extract of my bouild.xml file:
> <target name="import-derby" description="Creates db and Loads data">
> <taskdef name="ddlToDatabase"
> classname="org.apache.ddlutils.task.DdlToDatabaseTask">
> <classpath refid="classpath"/>
> </taskdef>
>
> <ddlToDatabase schemaFile="schema-pg.xml" sortforeignkeys="false" verbosity="DEBUG" shutdowndatabase="true" >
>
> <database url="jdbc:derby:pip_dev"
> driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
> username=""
> password=""/>
>
> <createDatabase failonerror="true"/>
> <writeSchemaToDatabase/>
> <writeDataToDatabase datafile="data.xml" failonerror="true" ensureforeignkeyorder="true" useexplicitidentityvalues ="true"/>
>
> </ddlToDatabase>
>
> </target>
>
> What do I do wrong ?
You have to set useexplicitidentityvalues to false, otherwise DdlUtils
will use the values defined in the data XML file, not the ones
generated by the database.
Tom
__________________________________________________
Do You Yahoo!?
En finir avec le spam? Yahoo! Mail vous offre la meilleure protection possible contre les messages non sollicités
http://mail.yahoo.fr Yahoo! Mail
Re: Re : Re : FK troubles Identity
Posted by Thomas Dudziak <to...@gmail.com>.
On 1/9/07, Laurent ROCHE <la...@yahoo.com> wrote:
> Here is an example of my problems:
> I have included the table definition In PostgreSQL (classes.sql)
<snip>
Please post the schema XML (the classes table), the data XML (the 12
rows) and the relevant part of your Ant build file, so that I can try
to reproduce the problem.
Tom