Skip to content

Releases: apskhem/dbml-rs

v1.0.0

03 Jan 18:24
3f78493
Compare
Choose a tag to compare
  • Allowed note blocks at the root schema sticky notes
  • Added notes on table groups spec
  • Added table group settings spec
  • Improved tests so they compare against the .ron files in the out folder (set the UPDATE_DBML_OUTPUT=1 to have the test suite update the .ron files)
    • Enabled test running for the mysql/mssql/postgres importer files
  • Added in double-quoted string in attributes
    • Needed for the DB importer files as the index names get exported in double-quotes
  • Improved column type handling to support
    • Schemas in the col_type (e.g. schemaB.my_enum when using a enum from another schema)
    • [] placement on unquoted type names (e.g. char[] or my_enum[])
    • [] placement after the quoted type name (e.g. "character varying"[])
    • Mixed quoting with schema (e.g. "schemaB"."my_enum" or schemaB."my_enum" etc.)
  • Added support for unspecified database rather than just forcing to use PostgresQL during AST analysis
  • Fixed raw identifier parsing with an empty space inside
  • Changed the project method from ast::schema::SchemaBlock to projects as it can exist as multiple blocks without applying analysis
  • Updated minor documentation

Big kudos to @urkle's contribution.

Feature Stabilization Pre-Release

14 Mar 09:11
2876f5e
Compare
Choose a tag to compare
Pre-release
  • Added span_range coverage for all AST nodes.
  • Added partial documentation.
  • Added name support for RefBlock.
  • Added support for no_std.
  • Added support for all block settings to accept custom attributes and properties.
  • Added a feature flag of utils for various utility functions after parsing.
  • Added validation on a default value as it must match its specified type.
  • Updated relation validation on one-to-many, many-to-one, and many-to-many.
  • Updated a foreign key must refer to either a primary key or a unique key.
  • Updated error handling for the parser. All errors that produced from both parse and analyze can be handle gracefully.
  • Gradually changed the structure of the parsed AST as it need to contain span_range information in each node.
  • Changed modules structure. Now all AST nodes are available to use within the ast module without specifying each group like the previous version.
  • Changed the analyzer function. The analyzer function will perform only to validate the AST produced from the parse function without returning a new AST.
  • Removed SemanticSchemaBlock as it should rely on SchemaBlock only.

Adding parsed test files

22 Mar 08:34
Compare
Choose a tag to compare
Pre-release
0.1.0-beta.2

add: rustfmt

Initial Pre-Release

20 Jan 06:16
Compare
Choose a tag to compare
Initial Pre-Release Pre-release
Pre-release
0.1.0-beta.1

update: initial release version