On 2/6/06, Craig L Russell <[EMAIL PROTECTED]> wrote: > Well, this describes my app and I guess I see it a bit differently. > I'd like to use DdlUtils to capture any database schema recognizing > that the full round trip development of schema is not supported. > Really all I want here is accurate representation of the actual schema. > > It's still of great value to be able to point DdlUtils at a database > and get its database-specific representation into a portable format > and to be able to use this format to do such things as generation of > POJO Java classes from the database. If we can't get the actual > database representation, then it's of much less value for this > application.
Mhmm, I'm sorry but I think I still don't really understand what you're saying (just got back from the movies so I'm not fully here yet). Ain't database-specific representation and portability contradicting ? Of course, I could try to read the exact schema using Oracle's sql plus and encode that into an XML file. But what is the benefit ? I can only use this with an Oracle database (and likely only with certain versions) so it isn't portable. On the other hand, having a portable version (e.g. in terms of JDBC) looses detail that might or might not be important to the application. This is why DdlUtils currently focuses on database creation. If the developer has no problems defining the schema in terms of JDBC types and constraints, then there are no database specific details to loose. I can see the benefit of being able to read a schema from an existing database and to transfer that to another database. But for databases that contain database specifics, full detail preservation can IMO only be achieved if the databases are the same and a database-specific format is used (i.e. SQL something similar produced by a dump). When transfering to a different database product, you're bound to loose some detail. Of course, the shared feature set is likely larger than what JDBC provides. And there certainly is room for improvement in DdlUtils. E.g. it would be useful to have the ability to specify sequences in an database-independent way. regards, Tom
