Comments (6)
@GuillaumeTaffin that is true - database migration tools are orthogonal, they are unrelated to HA, CA...
Why include it? Good question. The reason for including it is twofold: (a) on one hand, some kind of migration mechanism is needed by real life projects, so where does it fit in here, (b) suppose this GitHub repo is deployed and used for real (it may or may not be), then would need migrations too...
This is one difference between this GitHub repo as opposed to https://github.com/jmgarridopaz/bluezone which stay much more "pure" in illustrating just the concept and not the accidental complexity.
"I even find it quite harmful from the perspective of a junior coming here to learn those concepts" -> I agree with you. I find other repositories (e.g. bluezone, also Ivan Paulovich's work) to be much clearer in demonstrating the essence without clutter.... Whereas this GitHub repo (Banking Kata) is going in a different direction (in terms of adding some aspects that appear in real-life apps but are orthogonal to concepts illustrated); this was also motivated due to the audience gathered and the questions they ask....
from banking-kata-java.
I have split thoughts around this. :)
For a demo, certainly. But once you hit a certain size; how and when would you run the tool in question?
Can you accept downtime while running the tool (isolated), or do you take (relatively large) effort to migrate in small chunks so as to not have downtime?
from banking-kata-java.
Hi @valentinacupac,
I wanted to let you know that I've successfully integrated Flyway into the subproject adapter-persistence-jpa. I've also created a pull request that includes a detailed commit log for your review.
I did experiment with Liquibase as well, but I found Flyway to be more flexible, especially with its version-based approach and SQL syntax. Thanks.
from banking-kata-java.
I am a bit puzzled by that need. I do not know where this project is aiming to but I thought it was a place to have some "bigger sized" example of clean architecture concepts.
I do not really get how using database migration tools serves this purpose.
I even find it quite harmful from the perspective of a junior coming here to learn those concepts, and being actually submerged by all the accidental complexity clutter that is being put around it.
from banking-kata-java.
Related PR #101
from banking-kata-java.
@valentinacupac thanks for this clarification. Indeed, I was unsure of what the intent was, but applying "real world" tooling in that context makes sense as well.
from banking-kata-java.
Related Issues (20)
- Adapter - Persistence - JDBC - SQL HOT 2
- Adapter - Persistence - File
- Adapter - Persistence - JDBC - Stored Procedures HOT 2
- GitHub - Run tests before merge to main HOT 1
- Refactoring Tests - Base Adapter Tests - Test Structure
- Event Sourcing - EventStoreDB
- BankAccount - Event Sourcing
- Bank Account - Domain Events
- Flyway - Error when executing locally HOT 4
- SonarQube - Configuration - Rule Exclusion HOT 1
- MongoDB - Error when run locally HOT 8
- Centralize environment variables
- Adapter - Messaging - RabbitMQ - receiveAndConvert HOT 2
- Adapter - Messaging - RabbitMQ - Pattern Matching for instanceof HOT 1
- SonarQube Metrics Review
- Failure on Project Setup
- Local Testing - RabbitMQ
- GitHub - Fix SonarQube HOT 6
- GitHub - Component Test
- CQRS and Event Sourcing
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from banking-kata-java.