mirror of https://github.com/AMT-Cheif/drift.git
284 lines
9.9 KiB
Markdown
284 lines
9.9 KiB
Markdown
## 2.15.0-dev
|
|
|
|
- Potentially __breaking change__: Fix a bug causing `NULL` column constraints
|
|
not to show up in generated table definitions.
|
|
This is a breaking change drift's migration tooling is used, since they will
|
|
not expect the `NULL` column constraint to be there.
|
|
After upgrading, you can either drop the `NULL` constraint from your drift
|
|
files to make it consistent with the schema (since `NULL` has no effect in
|
|
sqlite3), or increment the schema version and run a `TableMigration` on
|
|
affected tables to make column constraints consistent.
|
|
|
|
## 2.14.1
|
|
|
|
- Fix inconsistencies when generating `Variable` instances for columns with
|
|
custom types.
|
|
- Fix a build performance regression introduced in version 2.14.0 related to
|
|
analyzing imports in drift files.
|
|
|
|
## 2.14.0
|
|
|
|
- __Breaking change__: The name of the generated row class derived from the name
|
|
of the Dart table name now supports more forms of plurals.
|
|
For instance, a table without a `@DataClassName` annotation named `Categories`
|
|
would now generate a `Category` class instead of `Categorie`. This is done in
|
|
a minor release because we assume most users are using `@DataClassName` in those
|
|
cases.
|
|
- Make versioned schema snapshots generated by `drift_dev schema steps` public.
|
|
- Don't generate `const` row classes when they are extending a class which
|
|
isn't const.
|
|
- Fix indices attached to tables not generating reliably.
|
|
|
|
## 2.13.2
|
|
|
|
- Fix generated queries relying on custom types.
|
|
|
|
## 2.13.1
|
|
|
|
- Add `has_separate_analyzer` option to optimize builds using the `not_shared` builder.
|
|
- Avoid illegal references to implicitly nullable variant of type converter when no such
|
|
field exists.
|
|
|
|
## 2.13.0
|
|
|
|
- Fix indices not being created for Dart tables from different files.
|
|
- Fix type converters on `int64` columns not propagating properly.
|
|
|
|
## 2.12.1
|
|
|
|
- Fix invalid types listed in `views` crashing the generator.
|
|
- Fix indices in drift files crashing the generator when they index expressions.
|
|
|
|
## 2.12.0
|
|
|
|
- Adds the static getter `$name` to generated table classes.
|
|
- Recognize and analyze the `@TableIndex` annotation.
|
|
|
|
## 2.11.2
|
|
|
|
- Follow `export` directives when looking for table imports.
|
|
|
|
## 2.11.1
|
|
|
|
- Reduce the amount of assets read by drift, improving build performance and enabling faster
|
|
incremental rebuilds.
|
|
- Fix missing import references around `@UseRowClass` with `generateInsertable: true` when
|
|
modular code generation is enabled.
|
|
- Support references to builtin sqlite3 tables in drift files.
|
|
|
|
## 2.11.0
|
|
|
|
- [Nested result columns](https://drift.simonbinder.eu/docs/using-sql/drift_files/#nested-results)
|
|
in drift files can now refer to any result set (e.g. a table-valued function or a subquery).
|
|
They were restricted to direct table references before.
|
|
- Add the `dialects` builder option to generate code supporting multiple SQL dialects.
|
|
- Add the `preamble` option for non-shared or modular build setups to mirror the `preamble`
|
|
option from `source_gen:combining_builder`.
|
|
|
|
## 2.10.0
|
|
|
|
- Add the `schema steps` command to generate help in writing step-by-step schema migrations.
|
|
- Report a warning when Dart tables are implicitly added due to `include`. They should be
|
|
added to a database via `tables` or `views` explicitly.
|
|
|
|
## 2.9.0
|
|
|
|
- Add `fatal_warnings` builder option to fail the build when drift reports warnings.
|
|
|
|
## 2.8.3
|
|
|
|
- Allow Dart-defined tables to reference imported tables through SQL
|
|
[#2433](https://github.com/simolus3/drift/issues/2433).
|
|
|
|
## 2.8.2
|
|
|
|
- Fix generated to write qualified column references for Dart components in
|
|
drift files if the same table is available under different names.
|
|
|
|
## 2.8.1
|
|
|
|
- Add documentation comments for comments on columns in drift files.
|
|
- Fix modular generation not generating imports correctly with the latest analyzer.
|
|
|
|
## 2.8.0
|
|
|
|
- Support named constructors for existing row types in drift files ([#2399](https://github.com/simolus3/drift/issues/2399)).
|
|
- Fix compilation issues with `analyzer: 5.12.0`.
|
|
|
|
## 2.7.0
|
|
|
|
- Make `validateDatabaseSchema()` work in migration tests.
|
|
- Fix elements from transitive imports in drift files not being added reliably.
|
|
|
|
## 2.6.0
|
|
|
|
- Fix invalid schema verification code being generated for columns with a
|
|
`clientDefault`.
|
|
- Support drift 2.6.0
|
|
|
|
## 2.5.2
|
|
|
|
- Fix generated code for `blob` columns when modular generation is enabled.
|
|
|
|
## 2.5.1
|
|
|
|
- Fix an error resolving multiple table references across different files.
|
|
- Fix crash when giving a query with two identical columns a custom result class name.
|
|
|
|
## 2.5.0+1
|
|
|
|
- Support `MAPPED BY` for individual columns in queries or in views defined with SQL.
|
|
- Consistently interpret `CAST (x AS DATETIME)` and `CAST(x AS TEXT)` in drift files.
|
|
- Support a `CAST` to an enum type in drift types.
|
|
- The `generate_connect_constructor` option is now deprecated, as a `DatabaseConnection`
|
|
can be passed whereever a `QueryExecutor` is used too.
|
|
- Support two different queries using `LIST()` columns having the same result class name.
|
|
- Fix table classes not extending defining Dart classes with modular generation.
|
|
- Fix `@UseDataClass` with `extending` not working with modular generation.
|
|
- Fix generating invalid code when using a type converter with a nullable JSON type.
|
|
- Avoid unecessary `async` modifier when mapping queries to existing row classes.
|
|
|
|
## 2.4.1
|
|
|
|
- Improvements and fixes for schema files:
|
|
- Fix views with an existing row type generating invalid SQL in schema files.
|
|
- Fix `schema generate --companions` implicitly requiring `--data-classes` as well.
|
|
- Fix `toColumns()` not being generated correclty.
|
|
- Fix conflicting names being generated by `schema generate` when using existing
|
|
row types on views.
|
|
|
|
## 2.4.0
|
|
|
|
- Add support for `textEnum` columns in Dart (or `ENUMNAME` in `.drift`) to store enum columns as text (via `Enum.name`).
|
|
- Adds the `case_from_dart_to_sql` option with the possible values: `preserve`, `camelCase`, `CONSTANT_CASE`, `snake_case`, `PascalCase`, `lowercase` and `UPPERCASE` (default: `snake_case`).
|
|
- `drift_dev schema dump` can now dump the schema of existing sqlite3 database files as well.
|
|
- Warn about suspicious int or text literals being inserted into enum columns.
|
|
- Support [existing row types on queries](https://drift.simonbinder.eu/docs/advanced-features/custom_row_classes/#queries)
|
|
defined in drift files.
|
|
- For Dart-defined columns, `customConstraint`s are now parsed and respected by the generator.
|
|
- It is now allowed to interleave queries and tables in a drift file.
|
|
- Experimental support for Dart records as existing row or query types. Please note that
|
|
records aren't stable yet in Dart or Drift, so this feature might be changed
|
|
or removed depending on its development in the Dart language.
|
|
|
|
## 2.3.3
|
|
|
|
- Fix a crash in `schema generate`.
|
|
|
|
## 2.3.2
|
|
|
|
- Fix a builder crash when importing triggers or indices.
|
|
|
|
## 2.3.1
|
|
|
|
- Fix invalid code being generated through `drift_dev schema generate`.
|
|
|
|
## 2.3.0
|
|
|
|
- Support drift 2.3.x
|
|
- Re-implement drift's internal analyzer to make the build process more efficient.
|
|
- Add an optional, modular build mode in which drift generates code for each
|
|
file declaring tables instead of emitting a large file just for the entrypoint.
|
|
|
|
## 2.2.0+1
|
|
|
|
- __Potentially breaking bug-fix__: Fix the nullability of columns generated for
|
|
Dart-defined views.
|
|
- Serialize `uniqueKeys` overrides into a database schema.
|
|
- Support latest version of the `analyzer` package.
|
|
|
|
## 2.1.0
|
|
|
|
- Analysis support `fts5` tables with external content tables.
|
|
- Analysis support for the `rtree` module.
|
|
- Prepare for an upcoming breaking analyzer change around how classes are mapped
|
|
to elements.
|
|
|
|
## 2.0.2
|
|
|
|
- Generate public typedefs for the signatures of `scoped_dart_components`,
|
|
making it easier to re-use them for own methods.
|
|
|
|
## 2.0.1
|
|
|
|
- Recognize options for an applied `not_shared` builder when exporting schemas.
|
|
|
|
## 2.0.0
|
|
|
|
- Removes the following build options, which are always turned on now:
|
|
- `null_aware_type_converters`
|
|
- `new_sql_code_generation`
|
|
- `compact_query_methods`
|
|
- Starting from this version, drift only supports generating non-nullable Dart code.
|
|
You'll have to at least opt your database code into null-safety to use this and
|
|
upcoming drift releases.
|
|
|
|
These changes help reduce complexity in the generator.
|
|
|
|
## 1.7.1
|
|
|
|
- Support the latest versions of the `analyzer` and `analyzer_plugin` packages.
|
|
|
|
## 1.7.0
|
|
|
|
- Support for new drift 1.7 features like `int64` columns.
|
|
- Analysis support for upcoming sqlite 3.39 features in `.drift` files.
|
|
|
|
## 1.6.0
|
|
|
|
- Write Dart references into schema files.
|
|
- Support new drift features from version 1.6.0, like `check` and `unique`
|
|
column constraints in Dart tables.
|
|
|
|
## 1.5.2
|
|
|
|
- Fix crash when reading dynamic type converters.
|
|
|
|
## 1.5.1
|
|
|
|
- Support migrations from `moor_flutter` to `drift_sqflite` in the `migrate`
|
|
command.
|
|
|
|
## 1.5.0
|
|
|
|
- Add `validateDatabaseSchema` extension to `api/migrations.dart`. It validates
|
|
that the schema of a database at runtime matches what one would expect.
|
|
- Allow cascade operators in the query for Dart-defined views.
|
|
|
|
## 1.4.0
|
|
|
|
- Generator support for the `LIST()` feature introduced in drift 1.4.
|
|
- Fix imported views in `.drift` files not being available in all cases.
|
|
|
|
## 1.3.0
|
|
|
|
- Support `drift` version `1.3.x`.
|
|
|
|
## 1.2.1
|
|
|
|
- Support the latest `analyzer` and `analyzer_plugin` packages.
|
|
|
|
## 1.2.0
|
|
|
|
- Generate code needed to support streams of views.
|
|
|
|
## 1.1.1
|
|
|
|
- Improve error handling around custom row classes.
|
|
|
|
## 1.1.0
|
|
|
|
- Consider `drift`-named files when generating schema migrations ([#1486](https://github.com/simolus3/drift/issues/1486))
|
|
- Emit correct SQL code when using arrays with the `new_sql_code_generation`
|
|
option in specific scenarios.
|
|
- Transform `.moor.dart` part files in the `migrate` command.
|
|
|
|
## 1.0.2
|
|
|
|
- Also transform `analysis_options.yaml` files in the `drift_dev migrate` command.
|
|
|
|
## 1.0.1
|
|
|
|
This is the initial release of the `drift_dev` package (formally known as `moor_generator`).
|
|
For an overview of old `moor` releases, see its [changelog](https://pub.dev/packages/moor_generator/changelog).
|