rusqlite_migration

↕️ Simple database schema migration library for rusqlite, written with performance in mind.

APACHE-2.0 License

Downloads
339.6K
Stars
76
Committers
8
rusqlite_migration - Version 1.3.1 Latest Release

Published by cljoly 19 days ago

The only change is a fix to the deps.rs badge in the documentation.

rusqlite_migration - Version 1.3.0

Published by cljoly 21 days ago

The code of this version is identical to Version 1.3.0 Beta 1

Rusqlite was updated from 0.31.0 to 0.32.1. Please see the release notes for 0.32.0 and for 0.32.1. Tokio Rusqlite was updated from 0.5.1 to 0.6.0. Please see the release notes.

Minimum Rust Version

Rust 1.77

Documentation

Various documentation improvements and clarification. In particular, call out that if a rusqlite error is encountered during a migration, the next migrations in the list are not applied.

Other

  • Apply minor or patch updates to the dependencies
  • Update development dependencies
  • Make CI testing more reproducible by forcing the use of Cargo.lock

What's Changed

Full Changelog: https://github.com/cljoly/rusqlite_migration/compare/v1.2.0...v1.3.0

rusqlite_migration - Version 1.3.0 Beta 1

Published by cljoly 22 days ago

Please see the changelog.

rusqlite_migration - Version 1.3.0 Alpha-Without-Tokio 1

Published by cljoly 2 months ago

Major Changes

This is an alpha version to start integrating rusqlite 0.32.1. Unfortunately, at this time, tokio-rusqlite is did not update to rusqlite 0.32.1. So we are temporarily removing the async features, while we figure out a way to bring them back. To be clear, we intend to support the async features going forward, this is a temporary change in a specifically tagged version.
Effectively, this version allows interested parties to opt-in to the updated rusqlite version of this library.

Rusqlite was updated from 0.31.0 to 0.32.1. Please see the release notes for 0.32.0 and for 0.32.1

Minimum Rust Version

Rust 1.77

Documentation

Various documentation improvements and clarification. In particular, call out that if a rusqlite error is encountered during a migration, the next migrations in the list are not applied.

Other

  • Apply minor or patch updates to the dependencies
  • Update development dependencies
  • Make CI testing more reproducible by forcing the use of Cargo.lock

What's Changed

Full Changelog: https://github.com/cljoly/rusqlite_migration/compare/v1.2.0...v1.3.0-alpha-without-tokio.1

rusqlite_migration - Version 1.2.0

Published by cljoly 7 months ago

Same Rust code as 1.2.0 beta1, but some cosmetic changes were made to the documentation.

rusqlite_migration - Version 1.2.0 Beta 1

Published by cljoly 7 months ago

Small release, mainly to update dependencies.

Minimum Rust Version

Now using edition 2021, but the minimum rust version is still 1.70

New Features

No new features.

Other

  • Update rusqlite to 0.31
  • Update various development dependencies
  • Improve CI build time
  • Impove documentation
  • Fix some broken examples

See also

Rusqlite was updated from 0.30 to 0.31. Please see its release notes

rusqlite_migration - Version 1.1.0

Published by cljoly 10 months ago

Same code as version 1.1.0-beta.1

Minimum Rust Version

Rust 1.70

New Features

  • Support for tokio-rusqlite behind the feature named alpha-async-tokio-rusqlitethanks to @czocher. See the example. This feature is alpha, meaning that compatibility in future minor versions is not guaranteed.
  • Create migrations from directories holding SQL files thanks to @czocher. See the example.
  • Add up/down hooks to run custom Rust code during migrations (PR thanks to @matze)
  • Add foreign_key_check method to migrations (PR thanks to @Jokler)
  • Make Migration functions const (PR thanks to @fkaa)
  • Make Migrations serializable (using the Debug serializer) with insta.

Depreciation

  • Mark Migrations::from_iter as deprecated

Other

  • Documentation improvements
    • Repository metadata improvements
  • Code quality improvements
    • Introduce cargo mutants & fix bugs found
    • Clippy warning fixes and other linter improvements
    • Report on test coverage & improve test coverage
    • Add benchmarks
  • Made errors returned more precise
  • Updated dependencies

See also

Rusqlite was updated from 0.29.0 to 0.30.0. Please see its release notes

What's Changed

New Contributors

Full Changelog: https://github.com/cljoly/rusqlite_migration/compare/v1.0.0...v1.1.0

rusqlite_migration - Version 1.1.0 Beta 1

Published by cljoly 11 months ago

⚠️ The APIs exposed in this version may be unstable.

Summing up all the changes from the previous Alpha versions.

Minimum Rust Version

Rust 1.70

New Features

  • Support for tokio-rusqlite behind the feature named alpha-async-tokio-rusqlitethanks to @czocher. See the example. This feature is alpha, meaning that compatibility in future minor versions is not guaranteed.
  • Create migrations from directories holding SQL files thanks to @czocher. See the example.
  • Add up/down hooks to run custom Rust code during migrations (PR thanks to @matze)
  • Add foreign_key_check method to migrations (PR thanks to @Jokler)
  • Make Migration functions const (PR thanks to @fkaa)
  • Make Migrations serializable (using the Debug serializer) with insta.

Depreciation

  • Mark Migrations::from_iter as deprecated

Other

  • Documentation improvements
    • Repository metadata improvements
  • Code quality improvements
    • Introduce cargo mutants & fix bugs found
    • Clippy warning fixes and other linter improvements
    • Report on test coverage & improve test coverage
    • Add benchmarks
  • Made errors returned more precise
  • Updated dependencies

See also

Rusqlite was updated from 0.29.0 to 0.30.0. Please see its release notes

What's Changed

New Contributors

Full Changelog: https://github.com/cljoly/rusqlite_migration/compare/v1.1.0-alpha.2...v1.1.0-beta.1

rusqlite_migration - Version 1.1.0 Alpha 2

Published by cljoly over 1 year ago

⚠️ The APIs exposed in this version may be unstable.

Minimum Rust Version

Rust 1.64

New Features

  • Create migrations from directories holding SQL files. See the example.

Depreciation

  • Mark Migrations::from_iter as deprecated

Other

  • Documentation improvements
  • Code quality improvements
    • Introduce cargo mutants & fix bugs found
    • Clippy warning fixes
    • Report on test coverage & improve test coverage
    • Add benchmarks
  • Made errors returned more precise
  • Update dependencies

What's Changed

Full Changelog: https://github.com/cljoly/rusqlite_migration/compare/v1.1.0-alpha.1...v1.1.0-alpha.2

rusqlite_migration - Release v1.0.2

Published by cljoly over 1 year ago

Bug fix

  • fix: adapt to rusqlite 0.29 and tighten dependency requirements for rusqlite (see this discussion). Thanks to @johnbcodes for flagging this!
rusqlite_migration - Version 1.1.0 Alpha 1

Published by cljoly over 1 year ago

⚠️ The APIs exposed in this version may be unstable.

Minimum Rust Version

Rust 1.61

New Features

  • Add up/down hooks to run custom Rust code during migrations (PR thanks to @matze)
    • The purpose of this release is to get feedback on the new API. Please feel free to comment on this discussion!
  • Add foreign_key_check method to migrations (PR thanks to @Jokler)
  • Make Migration functions const (PR thanks to @fkaa)

Other

  • CI improvements
  • Linter improvements
  • Repository metadata improvements
  • Documentation improvements
  • Dev dependencies update (not dependencies of the library when used in another crate)

New Contributors

Full Changelog: https://github.com/cljoly/rusqlite_migration/compare/v1.0.0...v1.1.0-alpha.1

rusqlite_migration - Version 1.0.1

Published by cljoly almost 2 years ago

Version 1.0.1

Bug Fix

  • fix: error instead of panicking on higher migration level (see commit ad57d92d1677420eb81c4e25635be1884f9b7ce7)

Other

  • Documentation improvements
rusqlite_migration - Version 1.0.0

Published by cljoly over 2 years ago

Version 1.0.0

Breaking changes

  • Remove deprecated symbols (Migrations.latest, SchemaVersionError::MigrateToLowerNotSupported)

Other

  • Documentation improvements
rusqlite_migration - Version 0.5.1

Published by cljoly almost 3 years ago

Version 0.5.1

Potentially Breaking Changes

Other

  • Improve the documentation
rusqlite_migration - Version 0.5.0

Published by cljoly almost 3 years ago

Potentially breaking change

  • Update the env_logger dependency

Other

  • Improve the documentation
rusqlite_migration - Version 0.4.1

Published by cljoly over 3 years ago

Only documentation changes.

rusqlite_migration - Version 0.4.2

Published by cljoly over 3 years ago

Only documentation changes.

rusqlite_migration - Version 0.4.0

Published by cljoly over 3 years ago

New features

  • Add downward migrations, i.e. migrations to go to past schema version of the database. Thanks @MightyPork!
  • Unsafe code is now forbidden.

Breaking changes

  • Rename latest to to_latest. The old symbol is deprecated and will be removed eventually.
  • An error is now returned when a migration is attempted while no migrations exist.

Other

  • Improve general rust API documentation.
  • Generate parts of the readme based on rust comments, for increased consistency with the docs.rs content.
  • Various refactoring and clean-ups.
rusqlite_migration - Version 0.3.1

Published by cljoly over 3 years ago

Fix in readme, for crates.io

rusqlite_migration - Version 0.3

Published by cljoly over 3 years ago

New features

  • Multi line sql statements like:
    M::up(r#"
    CREATE TABLE t1(a, b);
    CREATE TABLE t2(a, b);
    "#)
    
    are now fully supported

Other

  • Various doc & CI improvements
  • Fix a case of failure with silent errors.