The post details an implementation of a versioned Finite-State Machine (FSM) using PostgreSQL, inspired by Felix Geisendorfer’s blog. Key improvements include the introduction of version control, optimization of data storage, and enhanced protection against user errors. The post provides an example using an order process with payment and shipment steps, transitions mechanisms improvements using mapping tables, and handling multiple versions of the FSM graph to prevent breaking existing transitions.

6m read timeFrom raphael.medaer.me
Post cover image
Table of contents
Types optimizationTransition mechanism improvementsFSM graph versioningConclusion

Sort: