empire-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Francis De Brabandere <franci...@gmail.com>
Subject Re: DB codgen next steps
Date Sun, 01 Nov 2009 21:39:34 GMT
I'm willing to test on mysql/postgre but I think we need a decent test
case for each of them so that we can rerun tests in the future...

On Sun, Nov 1, 2009 at 12:29 PM, Rainer Döbele <doebele@esteam.de> wrote:
> Hi everyone,
> I have now checked in Benjamin's patch of Oct 26th.
> I have changed some bits about the logging and the exclusion of tables containing a '$'
in populateTableMetaData() in order to test it with Oracle. Also I had to add one Apache license
header in DBUtil.java.
> For our next steps I would like to make the following suggestions:
> 1. At the moment we're parsing metadata obtained via JDBC into generator specific classes
(Database, Table, Column) which hold the properties required for the velocity templates. The
classes are simple bean type classes.
> However wouldn't it be much smarter if the metadata would be parsed directly into an
Empire-db class hierarchy i.e. use DBDatabase, DBTable, DBColumn etc.?
> This would then allow to use the class hierarchy directly even without the generation
of the class files.
> In a second step the class files should then be generated from an Empire-db database
(DBDatabase). This step should be independent from step one, so that in theory one could provide
the class hierarchy in java and have the same classes generated again.
> For properties required for the generation process which are not available in the corresponding
Empire-db classes we probably need to provide a helper class or provide them through an extension
of the database class.
> 2. Afterwards we should be are able to test and debug it on different database systems.
I have currently tested it with the DBSAMPLE data model on Oracle and I can do the same for
Microsoft SQL-Server. We should make sure that it works with the DBSAMPLE and DBSAMPLEADV
data model on all DBMS that we currently support. All committers please let everyone else
know what you are developing and testing with.
> 3. I assume that although JDBC should retrieve metadata in a consistent way there will
be aspects that are specific for a certain DBMS (like the exclusion of tables containing a
'$' symbol in Oracle). This should be handled by the driver. At the moment however we're not
using the Empire-db database drivers and we need to think about how we can let the driver
intercept and modify the generation process.
> Suggestion 2 and 3 can wait. Most important for now is suggestion No 1.
> Thomas and Benjamin what do you thing about this idea?
> Anyone volunteering for getting this done?
> Regards
> Rainer

Microsoft gives you windows, Linux gives you the whole house.

View raw message