Skip to content

MVP of the application #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 21 commits into from
May 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
c75e055
Playing around with binary log
IvanChepurnyi Apr 10, 2023
62ca0ce
Created fixture for binary row parser that maps data directly into co…
IvanChepurnyi Apr 11, 2023
911f75b
Add full delete rows
IvanChepurnyi Apr 11, 2023
0c9cbc0
Introduce BinaryTable abstraction to make to remove mess from rows pa…
IvanChepurnyi Apr 14, 2023
2e5f392
Introduce abstraction over binary log table map
IvanChepurnyi Apr 19, 2023
30806a9
Implement row parsing algorithm
IvanChepurnyi Apr 25, 2023
7aa5715
Concept of EventObservers, implemented configurable entity observer
IvanChepurnyi Apr 27, 2023
90e6435
Make macros better organized
IvanChepurnyi Apr 27, 2023
fbe5756
Move table match into combinator for EventObserver trait and make ent…
IvanChepurnyi Apr 28, 2023
c0234c6
Separate log recording into trait to decide later how communicatino i…
IvanChepurnyi Apr 28, 2023
354cb08
Code cleanup
IvanChepurnyi Apr 28, 2023
7b13cdd
Move observer and event into replication, move product observers into…
IvanChepurnyi Apr 28, 2023
cc0ec4d
Add product EAV attribute default configuration
IvanChepurnyi Apr 28, 2023
b0a2582
Make macros properly exported
IvanChepurnyi Apr 29, 2023
8c1c55e
POS of the system
IvanChepurnyi May 8, 2023
379df46
Small refactor of collectors
IvanChepurnyi May 10, 2023
d562712
feat(output) Introduce changelog output
IvanChepurnyi May 16, 2023
5fe5a07
Application skeleton
IvanChepurnyi May 18, 2023
8a144c0
Code cleanup with cargo fixer
IvanChepurnyi May 18, 2023
7cd84e0
Make aggregate variation that writes directly to I/O.
IvanChepurnyi May 18, 2023
5d1274f
Update documentation, run cargo fix and update changelog
IvanChepurnyi May 18, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file added BRAINSTORM.md
Empty file.
9 changes: 8 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]

### Added
- Added `ReplicationReader` to attach to binlog stream and process events into `ReplicationObserver`
- `Database` as a building block for connection management in application.
- `schema::TableSchema` for mapping binary row into actual column names
- `replication::BinaryRow` and `replication::BinaryRowIter` for making working with rows based binary events easier to work with
- `replication::Event` to make easier processing of similar table changes
- `mapper::ChangeLogMapper` to transform `replication::Event` into business domain change item
- `log::ItemChange` to store multiple domain model specific changes in an enum
- `aggregate::Aggregate` and `aggregate::AsyncAggregate` to process `log::ItemChange` in batches and product output of `aggregate::ChangeAggregate`
- `app::Application` to build easily your own changelog customized apps

[unreleased]: https://github.com/EcomDev/mage-os-database-changelog/compare/0a7c672...HEAD
Loading