Prakhar Roy
10/06/2023, 7:31 AMMatt (pactflow.io / pact-js / pact-go)
Matt (pactflow.io / pact-js / pact-go)
Prakhar Roy
10/10/2023, 10:26 AMMatt (pactflow.io / pact-js / pact-go)
Yousaf Nabi (pactflow.io)
Yousaf Nabi (pactflow.io)
Matt (pactflow.io / pact-js / pact-go)
Prakhar Roy
10/16/2023, 10:08 AMMatt (pactflow.io / pact-js / pact-go)
Prakhar Roy
10/17/2023, 6:10 AMMatt (pactflow.io / pact-js / pact-go)
we have a java based kafka messaging system which calls an SP from the database team and the SP helps store the message into DB.Is the database is implementation detail in this scenario? The contract sounds like it’s between the SP and kafka producer(s). Who’s reading from the db, if any? Are they reading via a public API or reaching into the database? What kind of database is it? a better question - what problems are you facing or what problems are you looking to prevent?
Prakhar Roy
10/17/2023, 9:45 AMMatt (pactflow.io / pact-js / pact-go)
Yousaf Nabi (pactflow.io)
Yousaf Nabi (pactflow.io)
It’s an anti-pattern to have multiple systems talk to the same database (because that’s what leads to breaking changes - a schema change). So usually, only one system “manages” the database. It’s an implementation detail abstracted by an API (one over a network boundary or otherwise) In that case, you can test using other means (unit tests and integration tests of the system)I’ve seen this a few times, where business logic is applications is directly tied to database schemas, and it gets painful, quickly
Yousaf Nabi (pactflow.io)
Yousaf Nabi (pactflow.io)