alices-wonderland / white-rabbit

0 stars 0 forks source link

fix(deps): update rust crate sea-orm-migration to 0.12 - autoclosed #83

Closed renovate[bot] closed 1 year ago

renovate[bot] commented 1 year ago

Mend Renovate

This PR contains the following updates:

Package Type Update Change
sea-orm-migration (source) dependencies minor 0.11 -> 0.12

Release Notes

SeaQL/sea-orm (sea-orm-migration) ### [`v0.12.1`](https://togithub.com/SeaQL/sea-orm/blob/HEAD/CHANGELOG.md#0121---2023-07-27) - `0.12.0-rc.1`: Yanked - `0.12.0-rc.2`: 2023-05-19 - `0.12.0-rc.3`: 2023-06-22 - `0.12.0-rc.4`: 2023-07-08 - `0.12.0-rc.5`: 2023-07-22 ##### New Features - Added `MigratorTrait::migration_table_name()` method to configure the name of migration table [https://github.com/SeaQL/sea-orm/pull/1511](https://togithub.com/SeaQL/sea-orm/pull/1511) ```rust #[async_trait::async_trait] impl MigratorTrait for Migrator { // Override the name of migration table fn migration_table_name() -> sea_orm::DynIden { Alias::new("override_migration_table_name").into_iden() } ... } ``` - Added option to construct chained AND / OR join on condition [https://github.com/SeaQL/sea-orm/pull/1433](https://togithub.com/SeaQL/sea-orm/pull/1433) ```rust #[derive(Clone, Debug, PartialEq, Eq, DeriveEntityModel)] #[sea_orm(table_name = "cake")] pub struct Model { #[sea_orm(primary_key)] pub id: i32, pub name: String, } #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] pub enum Relation { // By default, it's // `JOIN `fruit` ON `cake`.`id` = `fruit`.`cake_id` AND `fruit`.`name` LIKE '%tropical%'` #[sea_orm( has_many = "super::fruit::Entity", on_condition = r#"super::fruit::Column::Name.like("%tropical%")"# )] TropicalFruit, // Or specify `condition_type = "any"` to override it, // `JOIN `fruit` ON `cake`.`id` = `fruit`.`cake_id` OR `fruit`.`name` LIKE '%tropical%'` #[sea_orm( has_many = "super::fruit::Entity", on_condition = r#"super::fruit::Column::Name.like("%tropical%")"# condition_type = "any", )] OrTropicalFruit, } ``` - Supports entity with composite primary key of length 12 [https://github.com/SeaQL/sea-orm/pull/1508](https://togithub.com/SeaQL/sea-orm/pull/1508) - Implemented `IntoIdentity` for `Identity` [https://github.com/SeaQL/sea-orm/pull/1508](https://togithub.com/SeaQL/sea-orm/pull/1508) - `Identity` supports up to identity tuple of `DynIden` with length up to 12 [https://github.com/SeaQL/sea-orm/pull/1508](https://togithub.com/SeaQL/sea-orm/pull/1508) - Implemented `IntoIdentity` for tuple of `IdenStatic` with length up to 12 [https://github.com/SeaQL/sea-orm/pull/1508](https://togithub.com/SeaQL/sea-orm/pull/1508) - Implemented `IdentityOf` for tuple of `ColumnTrait` with length up to 12 [https://github.com/SeaQL/sea-orm/pull/1508](https://togithub.com/SeaQL/sea-orm/pull/1508) - Implemented `TryGetableMany` for tuple of `TryGetable` with length up to 12 [https://github.com/SeaQL/sea-orm/pull/1508](https://togithub.com/SeaQL/sea-orm/pull/1508) - Implemented `TryFromU64` for tuple of `TryFromU64` with length up to 12 [https://github.com/SeaQL/sea-orm/pull/1508](https://togithub.com/SeaQL/sea-orm/pull/1508) ```rust #[derive(Clone, Debug, PartialEq, DeriveEntityModel)] #[sea_orm(table_name = "primary_key_of_12")] pub struct Model { #[sea_orm(primary_key, auto_increment = false)] pub id_1: String, ... #[sea_orm(primary_key, auto_increment = false)] pub id_12: bool, } ``` - Added macro `DerivePartialModel` [https://github.com/SeaQL/sea-orm/pull/1597](https://togithub.com/SeaQL/sea-orm/pull/1597) ```rust #[derive(DerivePartialModel, FromQueryResult)] #[sea_orm(entity = "Cake")] struct PartialCake { name: String, #[sea_orm( from_expr = r#"SimpleExpr::FunctionCall(Func::upper(Expr::col((Cake, cake::Column::Name))))"# )] name_upper: String, } assert_eq!( cake::Entity::find() .into_partial_model::() .into_statement(DbBackend::Sqlite) .to_string(), r#"SELECT "cake"."name", UPPER("cake"."name") AS "name_upper" FROM "cake""# ); ``` - Add `DeriveEntityRelated` macro [https://github.com/SeaQL/sea-orm/pull/1599](https://togithub.com/SeaQL/sea-orm/pull/1599) The DeriveRelatedEntity derive macro will implement `seaography::RelationBuilder` for `RelatedEntity` enumeration when the `seaography` feature is enabled - Add `expr`, `exprs` and `expr_as` methods to `QuerySelect` trait [https://github.com/SeaQL/sea-orm/pull/1702](https://togithub.com/SeaQL/sea-orm/pull/1702) - Add `DbErr::sql_err()` method to convert error into common database errors `SqlErr`, such as unique constraint or foreign key violation errors. [https://github.com/SeaQL/sea-orm/pull/1707](https://togithub.com/SeaQL/sea-orm/pull/1707) ```rust assert!(matches!( cake.into_active_model().insert(db).await .expect_err("Insert a row with duplicated primary key") .sql_err(), Some(SqlErr::UniqueConstraintViolation(_)) )); assert!(matches!( fk_cake.insert(db).await .expect_err("Insert a row with invalid foreign key") .sql_err(), Some(SqlErr::ForeignKeyConstraintViolation(_)) )); ``` - Add `Select::find_with_linked`, similar to `find_with_related`: [https://github.com/SeaQL/sea-orm/pull/1728](https://togithub.com/SeaQL/sea-orm/pull/1728), [https://github.com/SeaQL/sea-orm/pull/1743](https://togithub.com/SeaQL/sea-orm/pull/1743) ```rust fn find_with_related(self, r: R) -> SelectTwoMany where R: EntityTrait, E: Related; fn find_with_linked(self, l: L) -> SelectTwoMany where L: Linked, T: EntityTrait; // boths yields `Vec<(E::Model, Vec)>` ``` - Add `DeriveValueType` derive macro for custom wrapper types, implementations of the required traits will be provided, you can customize the `column_type` and `array_type` if needed [https://github.com/SeaQL/sea-orm/pull/1720](https://togithub.com/SeaQL/sea-orm/pull/1720) ```rust #[derive(DeriveValueType)] #[sea_orm(array_type = "Int")] pub struct Integer(i32); #[derive(DeriveValueType)] #[sea_orm(column_type = "Boolean", array_type = "Bool")] pub struct Boolbean(pub String); #[derive(DeriveValueType)] pub struct StringVec(pub Vec); ``` - Add `DeriveDisplay` derive macro to implements `std::fmt::Display` for active enum [https://github.com/SeaQL/sea-orm/pull/1726](https://togithub.com/SeaQL/sea-orm/pull/1726) ```rust #[derive(DeriveDisplay)] enum DisplayTea { EverydayTea, #[sea_orm(display_value = "Breakfast Tea")] BreakfastTea, } assert_eq!(format!("{}", DisplayTea::EverydayTea), "EverydayTea"); assert_eq!(format!("{}", DisplayTea::BreakfastTea), "Breakfast Tea"); ``` - Added `UpdateMany::exec_with_returning()` [https://github.com/SeaQL/sea-orm/pull/1677](https://togithub.com/SeaQL/sea-orm/pull/1677) ```rust let models: Vec = Entity::update_many() .col_expr(Column::Values, Expr::expr(..)) .exec_with_returning(db) .await?; ``` - Supporting `default_expr` in `DeriveEntityModel` [https://github.com/SeaQL/sea-orm/pull/1474](https://togithub.com/SeaQL/sea-orm/pull/1474) ```rust #[derive(DeriveEntityModel)] #[sea_orm(table_name = "hello")] pub struct Model { #[sea_orm(default_expr = "Expr::current_timestamp()")] pub timestamp: DateTimeUtc, } assert_eq!( Column::Timestamp.def(), ColumnType::TimestampWithTimeZone.def().default(Expr::current_timestamp()) ); ``` - Introduced new `ConnAcquireErr` [https://github.com/SeaQL/sea-orm/pull/1737](https://togithub.com/SeaQL/sea-orm/pull/1737) ```rust enum DbErr { ConnectionAcquire(ConnAcquireErr), .. } enum ConnAcquireErr { Timeout, ConnectionClosed, } ``` ##### Seaography - Add generation of `seaography` related information to `sea-orm-codegen` [https://github.com/SeaQL/sea-orm/pull/1599](https://togithub.com/SeaQL/sea-orm/pull/1599) The following information is added in entities files by `sea-orm-cli` when flag `seaography` is `true` ```rust /// ... Entity File ... #[derive(Copy, Clone, Debug, EnumIter, DeriveRelatedEntity)] pub enum RelatedEntity { #[sea_orm(entity = "super::address::Entity")] Address, #[sea_orm(entity = "super::payment::Entity")] Payment, #[sea_orm(entity = "super::rental::Entity")] Rental, #[sea_orm(entity = "Entity", def = "Relation::SelfRef.def()")] SelfRef, #[sea_orm(entity = "super::store::Entity")] Store, #[sea_orm(entity = "Entity", def = "Relation::SelfRef.def().rev()")] SelfRefRev, } ``` ##### Enhancements - Supports for partial select of `Option` model field. A `None` value will be filled when the select result does not contain the `Option` field without throwing an error. [https://github.com/SeaQL/sea-orm/pull/1513](https://togithub.com/SeaQL/sea-orm/pull/1513) ```rust customer::ActiveModel { name: Set("Alice".to_owned()), notes: Set(Some("Want to communicate with Bob".to_owned())), ..Default::default() } .save(db) .await?; // The `notes` field was intentionally leaved out let customer = Customer::find() .select_only() .column(customer::Column::Id) .column(customer::Column::Name) .one(db) .await .unwrap(); // The select result does not contain `notes` field. // Since it's of type `Option`, it'll be `None` and no error will be thrown. assert_eq!(customers.notes, None); ``` - \[sea-orm-cli] the `migrate init` command will create a `.gitignore` file when the migration folder reside in a Git repository [https://github.com/SeaQL/sea-orm/pull/1334](https://togithub.com/SeaQL/sea-orm/pull/1334) - \[sea-orm-cli] Added support for generating migration of space separated name, for example executing `sea-orm-cli migrate generate "create accounts table"` command will create `m20230503_000000_create_accounts_table.rs` for you [https://github.com/SeaQL/sea-orm/pull/1570](https://togithub.com/SeaQL/sea-orm/pull/1570) - Added `Migration::name()` and `Migration::status()` getters for the name and status of `sea_orm_migration::Migration` [https://github.com/SeaQL/sea-orm/pull/1519](https://togithub.com/SeaQL/sea-orm/pull/1519) ```rust let migrations = Migrator::get_pending_migrations(db).await?; assert_eq!(migrations.len(), 5); let migration = migrations.get(0).unwrap(); assert_eq!(migration.name(), "m20220118_000002_create_fruit_table"); assert_eq!(migration.status(), MigrationStatus::Pending); ``` - The `postgres-array` feature will be enabled when `sqlx-postgres` backend is selected [https://github.com/SeaQL/sea-orm/pull/1565](https://togithub.com/SeaQL/sea-orm/pull/1565) - Replace `String` parameters in API with `Into` [https://github.com/SeaQL/sea-orm/pull/1439](https://togithub.com/SeaQL/sea-orm/pull/1439) - Implements `IntoMockRow` for any `BTreeMap` that is indexed by string `impl IntoMockRow for BTreeMap where T: Into` - Converts any string value into `ConnectOptions` - `impl From for ConnectOptions where T: Into` - Changed the parameter of method `ConnectOptions::new(T) where T: Into` to takes any string SQL - Changed the parameter of method `Statement::from_string(DbBackend, T) where T: Into` to takes any string SQL - Changed the parameter of method `Statement::from_sql_and_values(DbBackend, T, I) where I: IntoIterator, T: Into` to takes any string SQL - Changed the parameter of method `Transaction::from_sql_and_values(DbBackend, T, I) where I: IntoIterator, T: Into` to takes any string SQL - Changed the parameter of method `ConnectOptions::set_schema_search_path(T) where T: Into` to takes any string - Changed the parameter of method `ColumnTrait::like()`, `ColumnTrait::not_like()`, `ColumnTrait::starts_with()`, `ColumnTrait::ends_with()` and `ColumnTrait::contains()` to takes any string - Re-export `sea_query::{DynIden, RcOrArc, SeaRc}` in `sea_orm::entity::prelude` module [https://github.com/SeaQL/sea-orm/pull/1661](https://togithub.com/SeaQL/sea-orm/pull/1661) - Added `DatabaseConnection::ping` [https://github.com/SeaQL/sea-orm/pull/1627](https://togithub.com/SeaQL/sea-orm/pull/1627) ```rust |db: DatabaseConnection| { assert!(db.ping().await.is_ok()); db.clone().close().await; assert!(matches!(db.ping().await, Err(DbErr::ConnectionAcquire))); } ``` - Added `TryInsert` that does not panic on empty inserts [https://github.com/SeaQL/sea-orm/pull/1708](https://togithub.com/SeaQL/sea-orm/pull/1708) ```rust // now, you can do: let res = Bakery::insert_many(std::iter::empty()) .on_empty_do_nothing() .exec(db) .await; assert!(matches!(res, Ok(TryInsertResult::Empty))); ``` - On conflict do nothing not resulting in Err [https://github.com/SeaQL/sea-orm/pull/1712](https://togithub.com/SeaQL/sea-orm/pull/1712) ```rust let on = OnConflict::column(Column::Id).do_nothing().to_owned(); // Existing behaviour let res = Entity::insert_many([..]).on_conflict(on).exec(db).await; assert!(matches!(res, Err(DbErr::RecordNotInserted))); // New API; now you can: let res = Entity::insert_many([..]).on_conflict(on).do_nothing().exec(db).await; assert!(matches!(res, Ok(TryInsertResult::Conflicted))); ``` ##### Upgrades - Upgrade `sqlx` to `0.7` [https://github.com/SeaQL/sea-orm/pull/1742](https://togithub.com/SeaQL/sea-orm/pull/1742) - Upgrade `sea-query` to `0.30` [https://github.com/SeaQL/sea-orm/pull/1742](https://togithub.com/SeaQL/sea-orm/pull/1742) - Upgrade `sea-schema` to `0.14` [https://github.com/SeaQL/sea-orm/pull/1742](https://togithub.com/SeaQL/sea-orm/pull/1742) - Upgrade `syn` to `2` [https://github.com/SeaQL/sea-orm/pull/1713](https://togithub.com/SeaQL/sea-orm/pull/1713) - Upgrade `heck` to `0.4` [https://github.com/SeaQL/sea-orm/pull/1520](https://togithub.com/SeaQL/sea-orm/pull/1520), [https://github.com/SeaQL/sea-orm/pull/1544](https://togithub.com/SeaQL/sea-orm/pull/1544) - Upgrade `strum` to `0.25` [https://github.com/SeaQL/sea-orm/pull/1752](https://togithub.com/SeaQL/sea-orm/pull/1752) - Upgrade `clap` to `4.3` [https://github.com/SeaQL/sea-orm/pull/1468](https://togithub.com/SeaQL/sea-orm/pull/1468) - Upgrade `ouroboros` to `0.17` [https://github.com/SeaQL/sea-orm/pull/1724](https://togithub.com/SeaQL/sea-orm/pull/1724) ##### Bug Fixes - `DeriveActiveEnum` no longer impl `Display` [https://github.com/SeaQL/sea-orm/pull/1726](https://togithub.com/SeaQL/sea-orm/pull/1726) - Fixed `DeriveActiveEnum` throwing errors because `string_value` consists [non-UAX#31](https://togithub.com/non-UAX/sea-orm/issues/31) compliant characters [https://github.com/SeaQL/sea-orm/pull/1374](https://togithub.com/SeaQL/sea-orm/pull/1374) For example, ```rust #[derive(Clone, Debug, PartialEq, EnumIter, DeriveActiveEnum)] #[sea_orm(rs_type = "String", db_type = "String(None)")] pub enum StringValue { #[sea_orm(string_value = "")] Member1, #[sea_orm(string_value = "$")] Member2, #[sea_orm(string_value = "$$")] Member3, #[sea_orm(string_value = "AB")] Member4, #[sea_orm(string_value = "A_B")] Member5, #[sea_orm(string_value = "A$B")] Member6, #[sea_orm(string_value = "0 123")] Member7, } ``` will now produce the following Variant Enum: ```rust pub enum StringValueVariant { __Empty, _0x24, _0x240x24, Ab, A0x5Fb, A0x24B, _0x300x20123, } ``` - \[sea-orm-cli] Fix Postgres enum arrays[https://github.com/SeaQL/sea-orm/pull/1678](https://togithub.com/SeaQL/sea-orm/pull/1678)8 - \[sea-orm-cli] The implementation of `Related` with `via` and `to` methods will not be generated if there exists multiple paths via an intermediate table [https://github.com/SeaQL/sea-orm/pull/1435](https://togithub.com/SeaQL/sea-orm/pull/1435) - \[sea-orm-cli] fixed entity generation includes partitioned tables[https://github.com/SeaQL/sea-orm/issues/1582](https://togithub.com/SeaQL/sea-orm/issues/1582)2,[https://github.com/SeaQL/sea-schema/pull/105](https://togithub.com/SeaQL/sea-schema/pull/105)5 - Fixed `ActiveEnum::db_type()` return type does not implement `ColumnTypeTrait` [https://github.com/SeaQL/sea-orm/pull/1576](https://togithub.com/SeaQL/sea-orm/pull/1576) ```rust impl ColumnTrait for Column { type EntityName = Entity; fn def(&self) -> ColumnDef { match self { ... // `db_type()` returns `ColumnDef`; now it implements `ColumnTypeTrait` Self::Thing => SomeThing::db_type().def(), ... } } } ``` - Resolved `insert_many` failing if the models iterator is empty [https://github.com/SeaQL/sea-orm/issues/873](https://togithub.com/SeaQL/sea-orm/issues/873) - Update the template MD file of `migration/README.md`, fixed a faulty sample `migrate init` shell script [https://github.com/SeaQL/sea-orm/pull/1723](https://togithub.com/SeaQL/sea-orm/pull/1723) ##### Breaking changes - Supports for partial select of `Option` model field. A `None` value will be filled when the select result does not contain the `Option` field instead of throwing an error. [https://github.com/SeaQL/sea-orm/pull/1513](https://togithub.com/SeaQL/sea-orm/pull/1513) - Replaced `sea-strum` dependency with upstream `strum` in `sea-orm` [https://github.com/SeaQL/sea-orm/pull/1535](https://togithub.com/SeaQL/sea-orm/pull/1535) - Added `derive` and `strum` features to `sea-orm-macros` - The derive macro `EnumIter` is now shipped by `sea-orm-macros` - Added a new variant `Many` to `Identity` [https://github.com/SeaQL/sea-orm/pull/1508](https://togithub.com/SeaQL/sea-orm/pull/1508) - Replace the use of `SeaRc` where `T` isn't `dyn Iden` with `RcOrArc` [https://github.com/SeaQL/sea-orm/pull/1661](https://togithub.com/SeaQL/sea-orm/pull/1661) - Enabled `hashable-value` feature in SeaQuery, thus `Value::Float(NaN) == Value::Float(NaN)` would be true [https://github.com/SeaQL/sea-orm/pull/1728](https://togithub.com/SeaQL/sea-orm/pull/1728), [https://github.com/SeaQL/sea-orm/pull/1743](https://togithub.com/SeaQL/sea-orm/pull/1743) - The `DeriveActiveEnum` derive macro no longer provide `std::fmt::Display` implementation for the enum. You need to derive an extra `DeriveDisplay` macro alongside with `DeriveActiveEnum` derive macro. [https://github.com/SeaQL/sea-orm/pull/1726](https://togithub.com/SeaQL/sea-orm/pull/1726) - `sea-query/derive` is no longer enabled by `sea-orm`, as such, `Iden` no longer works as a derive macro (it's still a trait). Instead, we are shipping a new macro `DeriveIden`: ```rust // then: #[derive(Iden)] #[iden = "category"] pub struct CategoryEnum; #[derive(Iden)] pub enum Tea { Table, #[iden = "EverydayTea"] EverydayTea, } // now: #[derive(DeriveIden)] #[sea_orm(iden = "category")] pub struct CategoryEnum; #[derive(DeriveIden)] pub enum Tea { Table, #[sea_orm(iden = "EverydayTea")] EverydayTea, } ``` - Definition of `DbErr::ConnectionAcquire` changed to `ConnectionAcquire(ConnAcquireErr)` [https://github.com/SeaQL/sea-orm/pull/1737](https://togithub.com/SeaQL/sea-orm/pull/1737) - `FromJsonQueryResult` removed from entity prelude ##### House keeping - Replace `bae` with `sea-bae` [https://github.com/SeaQL/sea-orm/pull/1739](https://togithub.com/SeaQL/sea-orm/pull/1739)

Configuration

📅 Schedule: Branch creation - "before 4am" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.



This PR has been generated by Mend Renovate. View repository job log here.

renovate[bot] commented 1 year ago

⚠ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

The artifact failure details are included below:

File name: Cargo.lock
Command failed: docker run --rm --name=renovate_a_sidecar --label=renovate_a_child --memory=3584m -v "/tmp/worker/ca223d/73bd73/repos/github/alices-wonderland/white-rabbit":"/tmp/worker/ca223d/73bd73/repos/github/alices-wonderland/white-rabbit" -v "/tmp/worker/ca223d/73bd73/cache":"/tmp/worker/ca223d/73bd73/cache" -e CONTAINERBASE_CACHE_DIR -w "/tmp/worker/ca223d/73bd73/repos/github/alices-wonderland/white-rabbit" ghcr.io/containerbase/sidecar:9.8.0 bash -l -c "install-tool rust 1.71.0 && cargo update --manifest-path packages/migration/Cargo.toml --workspace"
/usr/local/bin/docker: line 4: .: filename argument required
.: usage: . filename [arguments]
install: WARNING: failed to run ldconfig. this may happen when not installing as root. run with --verbose to see the error
    Updating crates.io index
error: failed to select a version for `libsqlite3-sys`.
    ... required by package `sqlx-core v0.6.1`
    ... which satisfies dependency `sqlx-core = "^0.6.1"` of package `sqlx v0.6.1`
    ... which satisfies dependency `sqlx = "^0.6.1"` of package `sea-query-binder v0.3.0`
    ... which satisfies dependency `sea-query-binder = "^0.3"` of package `sea-orm v0.11.0`
    ... which satisfies dependency `sea-orm = "^0.11"` of package `endpoint-desktop v0.1.0 (/tmp/worker/ca223d/73bd73/repos/github/alices-wonderland/white-rabbit/packages/app-desktop/src-tauri)`
versions that meet the requirements `^0.24.1` are: 0.24.2, 0.24.1

the package `libsqlite3-sys` links to the native library `sqlite3`, but it conflicts with a previous package which links to `sqlite3` as well:
package `libsqlite3-sys v0.26.0`
    ... which satisfies dependency `libsqlite3-sys = "^0.26.0"` of package `sqlx-sqlite v0.7.0`
    ... which satisfies dependency `sqlx-sqlite = "=0.7.0"` of package `sqlx v0.7.0`
    ... which satisfies dependency `sqlx = "^0.7"` of package `sea-orm v0.12.1`
    ... which satisfies dependency `sea-orm = "^0.12.1"` of package `sea-orm-migration v0.12.1`
    ... which satisfies dependency `sea-orm-migration = "^0.12"` of package `migration v0.1.0 (/tmp/worker/ca223d/73bd73/repos/github/alices-wonderland/white-rabbit/packages/migration)`
    ... which satisfies path dependency `migration` (locked to 0.1.0) of package `endpoint-desktop v0.1.0 (/tmp/worker/ca223d/73bd73/repos/github/alices-wonderland/white-rabbit/packages/app-desktop/src-tauri)`
Only one package in the dependency graph may specify the same links value. This helps ensure that only one copy of a native library is linked in the final binary. Try to adjust your dependencies so that only one package uses the links ='libsqlite3-sys' value. For more information, see https://doc.rust-lang.org/cargo/reference/resolver.html#links.

failed to select a version for `libsqlite3-sys` which could resolve this conflict