You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now the go.mod contains a lot of dependencies from specific driver libraries. However they are not used at all in the core library, because each implementation use the standard database/sql interface.
Problems with that approach:
huge number of dependencies looks just scary. People prefer libraries with a minimal set of dependencies
dependency clash, which make upgrades more challenging. Right now I have this problem in my private project, because go.opentelemetry.io/otel is quite popular and it notoriously break the backward compatibility
I always wanted to solve this problem, but never knew how exactly, and didn't have a lot of time to try.
On other package panagers (Bundler for Ruby, etc) you specify a dependency as being dev or test, so it is ignored on importers, but Go do not have such concept.
If you think having a separate go.mod would work, I'm more than happy to review a pull request for it.
Right now the
go.mod
contains a lot of dependencies from specific driver libraries. However they are not used at all in the core library, because each implementation use the standarddatabase/sql
interface.Problems with that approach:
go.opentelemetry.io/otel
is quite popular and it notoriously break the backward compatibilityMaybe it would be helpful to extract all of the test to separe
go.mod
within the repo, so the core library is super lean. @andreynering WDYT?The text was updated successfully, but these errors were encountered: