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 <[email protected]> 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 > > -- http://www.somatik.be Microsoft gives you windows, Linux gives you the whole house.
