Here are some migration information for version 0.3.x to 0.4.x.
Version 0.4.x focuses primarily on cleaning up naming conventions and decoupling sea-query
to enable certain #[derive(Fields)]
functionalities even without the with-sea-query
feature.
Note: The latest version is currently on the
rc
stream (e.g.,0.4.0-rc.1
), as sea-query0.31.0
is still inrc
. It will become the full0.4.0
release once sea-query0.31
is released.
Key changes include:
- The
HasFields
trait is now used for the common#[derive(Fields)]
and providesfield_names() -> &'static [&'static str]
andfield_refs...
to accessrel
andname
information. HasSeaFields
is the trait that implements thesea-query
related functions. It is still generated by#[derive(Fields)]
when thewith-sea-query
feature is enabled.- Naming within
HasSeaFields
has been cleaned up. - The
#[field(...)]
naming convention has been cleaned up (replacingtable
withrel
), similar to the struct#[modql(rel...)]
.
v0.3.x | v0.4.x |
---|---|
Refactor HasFields without sea-query dependencies | |
field::HasFields::field_names() |
field::HasFields::field_names() |
field::HasFields::field_refs() with new FieldRef struct |
|
Rename Field/s to SeaField/s | |
field::Field |
field::SeaField |
SeaField::new(iden, value) both have impl into.. so, no .into() |
|
field::Fields |
field::SeaFields |
#[derive(FieldValue)] |
#[derive(SeaFieldValue)] |
Refactor HasFields to HasSeaFields | |
field::HasFields::not_none_fields |
field::HasSeaFields::not_none_sea_fields |
field::HasFields::all_fields |
field::HasSeaFields::all_sea_fields |
field::HasFields::field_idens |
field::HasSeaFields::sea_idens |
field::HasFields::field_column_refs |
field::HasSeaFields::sea_column_refs |
field::HasFields::field_column_refs_with_rel |
field::HasSeaFields::sea_column_refs_with_rel |
Attributes | |
#[field(table="table_name",name="col_name")] |
#[field(rel="table_name",name="col_name")] |
SQLite | |
ToSqliteValue |