We'd been too long without a public release, so there are a lot of changes here. Most of them are minor.
Breaking Changes
- The
#[auto]
attribute is replaced with theAutoPk
type. - Remove
ObjectState
and the auto-createdstate
field for each model (#151)
API Features
- Add
migrate
&unmigrate
toMigrations
(#250) - Expose PrimaryKeyType (#97)
- Allow deriving PrimaryKeyType (#245)
- Add Derive FieldType support for newtypes (#236, #99)
- Add
delete_migrations
toMigrationsMut
(#224) - Add
delete
toMany
(#146) - Add
load_ordered
toMany
(#131) - Support
Clone
for more types (#241, #107)
Library fixes & internal improvements
- Drop constraints before dropping tables (#253)
Clone
includesForeignKey
value (#244)- [pg] Use ALTER TABLE instead of copies (#243)
- Add equality of KnownId(t) and Known(t) (#234)
- Add references when adding/changing pg columns (#239)
- Avoid duplicate .table files (#225)
- Prevent unnecessary whitespace in sqlite SQL (#221)
- Create dir before lock to fix race condition in
FsMigrations
(#213) - Remove unused trait ModelTyped (#178)
- Fix sqlite foreign key support (#177)
- Use pretty json in .butane files (#175)
- Improve DataObject.save() generation (#171)
- Support BTreeMap for feature json (#164)
- Add database constraints (#158)
- Force stable ordering of migration operations (#155)
- Add more flexibility in type path matching in proc macro (#123)
- Upsert on save (#117)
- Improve checking for unitialized values added to a Many (#116)
- Quote reserved SQL words (#104)
- Allow type
serde_json::Value
(#106) - Fixes for new lints and warnings (various)
- Test expansion & improvements (various)
- Improved docs and examples (various)
- Improved logging (various)
- Dependency updates (various)
CLI features & interface changes
- Add
desribe-migration
command (#230) unmigrate
(instead ofrollback
) is the primary command for schema reverts. Rollback still works via alias. (#260)- Add
--verbose
flag (#205) - Add
--no-connect
flag to allowinit
without connecting (#195) - Add
--path
argument to set working directory (#130) - Add
backend
command for adding or removing backends from migrations (#198) - Add
detach-migration
command (see cli help for details) (#100)