diff options
author | Michael Gattozzi <mgattozzi@gmail.com> | 2019-12-02 17:31:33 -0500 |
---|---|---|
committer | Michael Gattozzi <mgattozzi@gmail.com> | 2019-12-03 11:47:05 -0500 |
commit | fcd4ccbec30493872feba137342347541b6a4e28 (patch) | |
tree | 1a74b26b4d49c952252f8816f7a7f616ae8a0792 /Cargo.lock | |
parent | b41ddc1c38ac64a8d63fe99ee86a888c2d7adfa9 (diff) |
Upgrade ticket format from V0 to V1 to use UUIDs
This is a necessary upgrade to deal with the fact that incremental ids
do not work in distributed systems. For instance say we have two
branches from the same commit on master and they both add a new ticket.
Both will have the same incremental ID despite being completely separate
tickets. In this case we want to use UUIDs, specifically version 1 as
defined in IETF RFC 4122. This version of UUID uses a timestamp to
generate it and as a result the UUID it generates is *sortable*. This
means that the UUIDs can be created whenever on any branch, be unique,
and will be sortable by time. No matter when or where our tickets can be
sorted correctly by this UUID in a deterministic order.
Since we are also upgrading the code we've set up migration upgrade code
to handle this in case we need to do this again in the future. We also
add a few more fields and make some breaking changes since we already
are for the UUIDs.
Resources:
- https://tools.ietf.org/html/rfc4122
Diffstat (limited to 'Cargo.lock')
-rw-r--r-- | Cargo.lock | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -944,6 +944,7 @@ name = "ticket" version = "0.1.0" dependencies = [ "anyhow 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)", + "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", "colored 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "paw 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", |