Hi there,
first of all, many thanks to Thomas Poling" for supplying his code about
the database generator, i'm looking forward to work with it. I really
think this could be a very valuable addition to EmpireDB.
I compiled the code he supplied, read the documentation and tried to
execute it with a hsql-database some of my fellow students and i
designed 2 years ago. Unfortunately i could not get it running out of
the box. I had to make the following two adjustments in order to get the
classes generated.
CHANGE 1: dbcodegen.db.Database:73
ResultSet tables = dbMeta.getTables(schemaName, null, "", new
String[] {"TABLE"});
changed to:
ResultSet tables = dbMeta.getTables(null, schemaName, null, new
String[] {"TABLE"});
CHANGE 2: dbcodegen.db.Table:161
ResultSet pkRs = dbMeta.getPrimaryKeys(null, schema, tableName);
changed to:
ResultSet pkRs = dbMeta.getPrimaryKeys(schema, null, tableName);
The generated classes contain a lot of compilation errors, as the
templates contain a few imports/references to classes like
"tfmm.persistence.generated.TfmmDatabase".
I'm going to play around with the templates soon and let you know more
about my results.
Benjamin
Thomas Poling schrieb:
Greetings All:
Attached is the code generator to create table/record classes based on
database schema meta-data.
Please read the Word document in the docs folder first.
I only have a MySQL database so I haven't tried to make it flexible
enough to use with other databases. I'm hoping someone with a little
more DB experience can investigate what it would take to use it with
other databases.
Please note that in the src folder all the classes under the tfmm
folder are NOT part of the code generator. They are mostly the code
that was generated based on my database. I've included the scripts
for this database under the dbscripts folder. You can also ignore the
EnumType class for now - I wanted to allow conversion between
constrained strings in the DB and java enumerated types, but haven't
gotten to this yet.
Let me know what you think and if we might be able to use this as a
starting point for something that could be included in a future
release of EmpireDB.
Thanks, Tom