#[derive(Versioned)]
{
// Attributes available to this derive:
#[versioned]
}
Expand description
Derives the Versioned trait for a struct.
§Attributes
#[versioned(version = "x.y.z")]: Specifies the semantic version (required). The version string must be a valid semantic version.#[versioned(version_key = "...")]: Customizes the version field key (optional, default: “version”).#[versioned(data_key = "...")]: Customizes the data field key (optional, default: “data”).
§Examples
Basic usage:
ⓘ
use version_migrate::Versioned;
#[derive(Versioned)]
#[versioned(version = "1.0.0")]
pub struct Task_V1_0_0 {
pub id: String,
pub title: String,
}Custom keys:
ⓘ
#[derive(Versioned)]
#[versioned(
version = "1.0.0",
version_key = "schema_version",
data_key = "payload"
)]
pub struct Task { ... }
// Serializes to: {"schema_version":"1.0.0","payload":{...}}