- Reworked
__repr__and__str__methods on all classes. They are now much simplier and more readable. - Comments on classes are now rendered as SQL comments in
sqlproperty (previously notes were rendered as comments on some classes). - Notes on
TableandColumnclasses are rendered as SQL comments insqlproperty:COMMENT ON TABLE "x" is 'y'. - New:
dbmlproperty on most classes and on parsed results which returns the DBML code. - Fix: sql for Reference and TableReference.
- New: Support composite references. Breaks backward compatibility!
col1,col2attributes onReferenceandcol,ref_colattributes onTableReferenceare now lists ofColumninstead ofColumn. TableGroupnow holds references to actual tables.
- New: Support references by aliases.
- New: Support indexes with expressions.
- New: You can now compare SQLObjects of same class.
- New: Add check for duplicate references on a table.
- Fix: minor bug fixes.
- Notes are now added as comments in SQL for tables, table columns, indeces, enums.
- Fix: bug in TableReference
- Fix: if schema had newline or comment at the end, it crashed parser
- Fix TableReference sql
- Fix: files in UTF-8 with BOM encoding couldn't be parsed.
- More tests and more bug fixes.
- Added index columns validation.
- Added table group items validation.
- References now contain link to Table and Column objects instead of just names.
- Indexes now contain link to Column objects instead of just names.
- Better syntax errors.
- sql for each object now contains in
sqlproperty instead of string rerpresentation. Added proper string representations. - Added syntax tests.
- Million bugs fixed after testing.
- Comments are now parsed too if they are before [b] or on the same line [l] as the entity. Works for: tables[b], columns[lb], references [lb], indexes[lb], enum items [lb], enums [b], project [b] and table group [b]
- All class instances will now have an empty Note in
noteattribute instead of None. - Add string representation for Note and EnumItem.
- Enum instance now acts like list of EnumItems.
- Add EnumType to use in column.type attribute.
- Column type is now replaced by EnumType instance if enum with such name is defined.
- Remove unnecessary ColumnType class.
- Fix: note definition, project definition, some other definitions
- Initial release