Skip to content
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

Add support for NpgsqlDataSource #2855

Merged
merged 9 commits into from
Dec 14, 2023
Merged

Conversation

oskardudycz
Copy link
Collaborator

@oskardudycz oskardudycz commented Dec 12, 2023

Added support for NpgsqlDataSource, the recommended way of handling connection management by the Npgsql team. This should also enable more scenarios, like integrating with the Aspire project, easier isolation testing etc.

Used NpgsqlDataSource throughout the codebase. It should be safe, as NpgsqlDataSource inferits currently the global config upon initialisation.

Added possibility to use registered NpgsqlDataSource in DI by calling AddMarten().UseNpgsqlDataSource() helper methods.

By default, DocumentStore will manage the lifetime of all data sources created by the factory as singletons. When injected from DI, only newly created tenants will be managed; the DI container will manage the main one.

Made ITenancyConfiguration in-store options lazy, as it's needed only in Runtime, and that enables easier and more flexible configuration.

I kept some Store Options as internal, but we can consider making them public depending on the usage patterns.

Currently left the wild permutations of the connection configuration but made them obsolete.

Warning: Bumped the Weasel version, which can cause some binding conflicts in Wolverine.

@oskardudycz oskardudycz added this to the 7.0.0 milestone Dec 12, 2023
@oskardudycz oskardudycz force-pushed the NpgsqlDataSourceSupport branch 2 times, most recently from 8a5e5a9 to a27f178 Compare December 12, 2023 12:21
@jeremydmiller
Copy link
Member

@oskardudycz I say we pull this in anytime you'd like. We're not finalizing anything anyway, and we'll take the run through Wolverine soon too.

@oskardudycz oskardudycz force-pushed the NpgsqlDataSourceSupport branch 2 times, most recently from 5dd41f3 to da7f07a Compare December 14, 2023 13:27
@oskardudycz oskardudycz self-assigned this Dec 14, 2023
@oskardudycz oskardudycz merged commit 2ec03f1 into master Dec 14, 2023
11 checks passed
@oskardudycz oskardudycz deleted the NpgsqlDataSourceSupport branch December 14, 2023 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants