Graham Fawcett wrote: >> >> But you still won't be able to verify the columns to the actual database >> scheme? > > One approach would be to write a separate tool that connects to the > database and writes out a representation of the schema to a source > file. At compile time, the representation is statically imported, and > used to verify the data model. > > If we had preprocessor support, the tool could be run as such, > checking the model just before passing the source to the compiler. > > Graham
This is actually possible now. I wrote a little CTFE parser for CREATE TABLE... statements, used mysql to dump a db, then used import() to include the dump and parse it at compile-time. I was actually using it to generate classes which mapped to the contents of each table (i.e. a "things" table would result in a "Thing" class which mapped the fields as properties). Obviously you need to keep the db dump up to date via an external tool.