* WIP, implementing Iden
* completed implementation for DeriveIden and added basic test cases
* added feature flag to prevent sea-orm::sea-query::DeriveIden from crashing when sea-query is not used
* fixed doc test and adjusted test case
* enable `sea-query-derive`'s `sea-orm` feature
* Bump `sea-query-derive` to v0.4
* Update Cargo.toml
* Update Cargo.toml
* adjusted test cases and updated so that iden attribute will not be snake cased
* Update Cargo.toml
* Update main.rs
---------
Co-authored-by: Billy Chan <ccw.billy.123@gmail.com>
Co-authored-by: Chris Tsang <chris.2y3@outlook.com>
* Add DeriveRelatedEntity macro
* Add generation for related enum and seaography
* Add seaography cli param
* update codegen tests
* Fix DeriveRelatedEntity macro doc and includes
* Fix all RelatedEntity variants for RelationBuilder
* Add tests for code
* Cargo format
* Fix clippy code
* Fix format
* Fix unit tests
* Fix unit tests
* Provide default for seaography::RelationBuilder
* Update changelog
* Update tests
* Modify code to match feedback
* Bring old Related Impl trait generation
* Modify DeriveRelatedEntity to gen impl seaography::RelationBuilder
* Generate RelatedEntity enum when seaography flag is enabled
* Update documentation
* Update Changelog
* Fix format errors
* Fix code generation
* relations with suffix are definition based
* Rev => Reverse easier to read
* snake_case to cameCase for name generation
* Fix unit tests
* Update lib.rs
* derive `seaography::RelationBuilder` only when `seaography` feature is enabled
* Try constructing async-graphql root for "related entity" and "entity" without relation
* Update demo
* CHANGELOG
* Update Cargo.toml
Co-authored-by: Chris Tsang <chris.2y3@outlook.com>
* Revert "Update Cargo.toml"
This reverts commit 6b1669836a4fb5040bfb08999f0cf640c74dc64d.
---------
Co-authored-by: Billy Chan <ccw.billy.123@gmail.com>
Co-authored-by: Chris Tsang <chris.2y3@outlook.com>
* Upgrade `tracing-subscriber` dependency to 0.3.17
* Revert "fix: `regex` dep should enable `unicode` feature (#1605)"
This reverts commit 41d9a853342155e0b7df4afb15990225b1c8a981.
* fix: Support deriving ActiveEnum without importing EnumIter, Iden, and ActiveEnum
* style: Fix format
* DeriveActiveEnum without depending on sea_query::Iden derive macros
* [issues] add tests
* Fix [issues] features
Co-authored-by: Naoki Ikeguchi <me@s6n.jp>
* feat: Introducing feature "sqlx-error"
Purpose of this feature is to not convert errors given from sqlx into strings to ease further analysis of the error and react to it accordingly. This implementation uses a feature switch and an additional error kind to avoid interfering with existing implementations without this feature enabled.
See discussion https://github.com/SeaQL/sea-orm/discussions/709
* fix: Align feature "sqlx-error" with merged Migration error kind
Due to the merge, an other error kind had been introduced and the DbErr became Eq and Clone, however Eq cannot easily be derived from, so I went back to PartialEq, and since the sqlx error does not implement clone, this was converted into an Arc, to allow cloning of the new kind too.
* fix: Repairing failing jobs
Several jobs had failed as I missed to correct the return values of a few methods in transaction.rs and had a wrong understanding of map_err at that point.
* feat: realigning with latest changes in sea-orm, different approach
Instead of the former approach to introduce a new error kind, now the existing error types get extended, for now only Exec and Query, because these are the most relevant for the requirement context.
Afterwards it might still be possible to add some further detail information.
See discussion https://github.com/SeaQL/sea-orm/discussions/709
* Update src/driver/sqlx_mysql.rs
Integrating fixes done by @Sculas
Co-authored-by: Sculas <contact@sculas.xyz>
* Update src/driver/sqlx_postgres.rs
Integrating fixes done by @Sculas
Co-authored-by: Sculas <contact@sculas.xyz>
* Update src/driver/sqlx_sqlite.rs
Integrating fixes done by @Sculas
Co-authored-by: Sculas <contact@sculas.xyz>
* feat: reworking feature with thiserror
Following the latest suggestions I changed the implementation to utilize `thiserror`.
Now there are more error kinds to be able to see the different kinds directly in src/error.rs
To ensure the behaviour is as expected, I also introduce a further test, which checks for a uniqueness failure.
Co-authored-by: Sculas <contact@sculas.xyz>
* Override column name with the name of model field in `DeriveEntityModel` macros [issues]
* Fixup: trim prefix and tailing underscore
Co-authored-by: Chris Tsang <chris.2y3@outlook.com>
* chore: log examples with tracing-subscriber
* chore: log [issues] with tracing-subscriber
* chore: log [cli] with tracing-subscriber
* feat: tracing will emit log if tracing-subscriber is not setup