Skip to content

feat: Remove/Keep only specified DBs in mongodb_factory#812

Open
tyzhnenko wants to merge 12 commits into
dbfixtures:mainfrom
tyzhnenko:add_filter_for_databases
Open

feat: Remove/Keep only specified DBs in mongodb_factory#812
tyzhnenko wants to merge 12 commits into
dbfixtures:mainfrom
tyzhnenko:add_filter_for_databases

Conversation

@tyzhnenko

@tyzhnenko tyzhnenko commented Jun 2, 2026

Copy link
Copy Markdown

Chore that needs to be done:

  • Add newsfragment pipenv run towncrier create [issue_number].[type].rst

Types are defined in the pyproject.toml, issue_numer either from issue tracker or the Pull request number

Summary by CodeRabbit

  • New Features

    • Added options to clean up only selected MongoDB databases, either by removing specified databases or keeping specified ones.
    • Introduced matching command-line and configuration settings for finer control over database cleanup.
  • Bug Fixes

    • Cleanup now avoids deleting unrelated databases, helping prevent interference with parallel test runs and shared MongoDB instances.
  • Tests

    • Expanded test coverage to verify the new database filtering behaviour during fixture teardown.

@coderabbitai

coderabbitai Bot commented Jun 2, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

MongoDB fixture cleanup now accepts remove_dbs and keep_dbs through fixture arguments and pytest configuration. Teardown uses those lists to decide which databases to process, and tests cover the new filtering behaviour.

Changes

Selective database cleanup

Layer / File(s) Summary
Configuration and options
pytest_mongo/config.py, pytest_mongo/plugin.py
MongoConfig adds remove_dbs and keep_dbs; get_config reads them from pytest configuration; and the plugin registers matching ini entries, CLI options, and help text.
Factory cleanup filtering
pytest_mongo/factories/client.py
The mongodb factory accepts remove_dbs and keep_dbs, rejects overlapping values, derives teardown lists from arguments or config, and skips databases during cleanup based on those lists.
Fixture validation and release note
tests/conftest.py, tests/test_mongo_cleanup.py, newsfragments/812.feature.rst
A new MongoDB test process and fixtures exercise the new database filters, the cleanup tests assert the remaining database names, and the news fragment records the updated deletion behaviour.

Sequence Diagram(s)

sequenceDiagram
  participant pytest_addoption
  participant get_config
  participant MongoConfig
  participant mongodb
  participant mongo_conn
  pytest_addoption->>pytest_addoption: register mongo_remove_dbs and mongo_keep_dbs
  get_config->>MongoConfig: build config with remove_dbs and keep_dbs
  MongoConfig-->>mongodb: config.remove_dbs and config.keep_dbs
  mongodb->>mongodb: validate overlapping remove_dbs and keep_dbs
  mongodb->>mongo_conn: list_database_names()
  mongo_conn-->>mongodb: database names
  mongodb->>mongo_conn: skip keep_dbs and drop selected databases
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐇 I hopped through the cleanup at dawn,
with keep-lists and remove-lists drawn.
One database stays, one database goes,
tidy little burrow, that’s how it flows.

🚥 Pre-merge checks | ✅ 6
✅ Passed checks (6 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed Docstring coverage is 90.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Newsfragment Check ✅ Passed PASS: newsfragments/812.feature.rst exists, and pyproject.toml defines the 'feature' Towncrier type.
Title check ✅ Passed The title clearly matches the main change: adding remove/keep database filtering for mongodb_factory.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
pytest_mongo/factories/client.py (2)

12-23: 🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick win

Update the docstring to document the new databases parameter.

The function signature now includes a databases parameter, but the docstring doesn't explain its purpose, expected format, or behaviour. Users of this factory won't know how to use the new parameter.

📝 Proposed docstring addition
 def mongodb(
     process_fixture_name: str,
     tz_aware: bool | None = None,
     databases: list[str] | None = None,
 ) -> Callable[[FixtureRequest], Iterator[MongoClient]]:
     """Mongo database factory.
 
     :param str process_fixture_name: name of the process fixture
     :param bool tz_aware: whether the client to be timezone aware or not
+    :param list[str] | None databases: list of database names to clean during teardown.
+        If None, all databases are cleaned (except system.* collections).
     :rtype: func
     :returns: function which makes a connection to mongo
     """
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pytest_mongo/factories/client.py` around lines 12 - 23, Update the mongodb
factory docstring to document the new databases parameter: explain that
databases is an optional list[str] of database names to pre-create or ensure
exist for the created MongoClient, describe its expected type (list of database
name strings) and default behavior when None (no databases are created/ensured),
and note any side effects (e.g., databases will be accessed/created on connect).
Place this description alongside the existing parameter docs for
process_fixture_name and tz_aware in the mongodb docstring so callers know how
to pass and what to expect.

35-39: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Integrate the databases parameter with plugin configuration.

The databases parameter should fall back to the configuration value when None, following the same pattern as tz_aware (lines 36-39). Currently, the --mongo-databases CLI option and mongo_databases ini option defined in plugin.py have no effect because the factory never reads them.

🔧 Proposed fix to wire up configuration
     config = get_config(request)
     mongo_tz_aware = False
     if tz_aware is not None:
         mongo_tz_aware = tz_aware
     elif config.tz_aware is not None and isinstance(config.tz_aware, bool):
         mongo_tz_aware = config.tz_aware
+    
+    mongo_databases = databases
+    if mongo_databases is None and hasattr(config, 'mongo_databases'):
+        mongo_databases = config.mongo_databases

Then update line 49 to use mongo_databases instead of databases:

     for db_name in mongo_conn.list_database_names():
-        if databases and db_name not in databases:
+        if mongo_databases and db_name not in mongo_databases:
             continue
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pytest_mongo/factories/client.py` around lines 35 - 39, The factory currently
ignores the plugin config for databases; mirror the tz_aware fallback logic:
when the function parameter databases is None, set a local mongo_databases from
config.mongo_databases (and only use it if it's a list/expected type) otherwise
use the provided databases value. Update the creation call that currently passes
databases to instead pass the resolved mongo_databases variable (same place
where tz_aware becomes mongo_tz_aware), referencing the parameter name
databases, the config attribute mongo_databases, and the resolved local variable
mongo_databases.
🧹 Nitpick comments (1)
tests/test_mongo.py (1)

74-77: 💤 Low value

Consider making the test more resilient to execution order.

The second test method depends on the first test running successfully and seeding test_db2. If the first test fails or is skipped, this test will also fail. Consider adding a setup fixture or combining both assertions into a single test to make the test suite more robust.

♻️ Alternative approach: combine into a single test
-    def test_clean_specified_databases(self, mongodb4: MongoClient) -> None:
-        """Test if only specified databases are cleaned."""
+    def test_clean_specified_databases_first_run(self, mongodb4: MongoClient) -> None:
+        """Seed databases for cleanup test."""
         test_db = mongodb4["test_db"]
         test_db.test.insert_one({"test": "test"})
         test_db2 = mongodb4["test_db2"]
         test_db2.test.insert_one({"test": "test"})
 
         assert "test_db" in mongodb4.list_database_names()
         assert "test_db2" in mongodb4.list_database_names()
 
-    def test_clean_specified_databases_again(self, mongodb4: MongoClient) -> None:
-        """Test if only specified databases are cleaned."""
+    def test_clean_specified_databases_second_run(self, mongodb4: MongoClient) -> None:
+        """Verify selective cleanup removed only test_db."""
+        # Re-seed test_db2 if it doesn't exist (makes test independent)
+        if "test_db2" not in mongodb4.list_database_names():
+            test_db2 = mongodb4["test_db2"]
+            test_db2.test.insert_one({"test": "test"})
+        
         assert "test_db" not in mongodb4.list_database_names()
         assert "test_db2" in mongodb4.list_database_names()
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/test_mongo.py` around lines 74 - 77, The test
test_clean_specified_databases_again currently assumes prior test seeded
"test_db2" causing order-dependent failures; make it resilient by ensuring the
DB exists before asserting: either add a setup fixture (e.g., a pytest fixture
that uses the MongoClient parameter mongodb4 to create/seed "test_db2" via
create_collection or insert_one and yield the client) and use that fixture in
test_clean_specified_databases_again, or combine this assertion with the earlier
test into one consolidated test that both seeds and verifies presence/absence of
"test_db" and "test_db2"; reference test_clean_specified_databases_again and the
mongodb4/list_database_names calls when applying the change.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pytest_mongo/plugin.py`:
- Around line 34-37: The help text in the _help_databases constant contains a
grammar error ("exclude" should be "excluding"); update the string assigned to
_help_databases so it reads: "List of MongoDB databases to clean in the fixture.
Otherwise, all databases are cleaned, excluding system.*." Keep the same
variable name (_help_databases) and only change the word and punctuation to
produce a grammatically correct, user-facing message.

---

Outside diff comments:
In `@pytest_mongo/factories/client.py`:
- Around line 12-23: Update the mongodb factory docstring to document the new
databases parameter: explain that databases is an optional list[str] of database
names to pre-create or ensure exist for the created MongoClient, describe its
expected type (list of database name strings) and default behavior when None (no
databases are created/ensured), and note any side effects (e.g., databases will
be accessed/created on connect). Place this description alongside the existing
parameter docs for process_fixture_name and tz_aware in the mongodb docstring so
callers know how to pass and what to expect.
- Around line 35-39: The factory currently ignores the plugin config for
databases; mirror the tz_aware fallback logic: when the function parameter
databases is None, set a local mongo_databases from config.mongo_databases (and
only use it if it's a list/expected type) otherwise use the provided databases
value. Update the creation call that currently passes databases to instead pass
the resolved mongo_databases variable (same place where tz_aware becomes
mongo_tz_aware), referencing the parameter name databases, the config attribute
mongo_databases, and the resolved local variable mongo_databases.

---

Nitpick comments:
In `@tests/test_mongo.py`:
- Around line 74-77: The test test_clean_specified_databases_again currently
assumes prior test seeded "test_db2" causing order-dependent failures; make it
resilient by ensuring the DB exists before asserting: either add a setup fixture
(e.g., a pytest fixture that uses the MongoClient parameter mongodb4 to
create/seed "test_db2" via create_collection or insert_one and yield the client)
and use that fixture in test_clean_specified_databases_again, or combine this
assertion with the earlier test into one consolidated test that both seeds and
verifies presence/absence of "test_db" and "test_db2"; reference
test_clean_specified_databases_again and the mongodb4/list_database_names calls
when applying the change.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: fbc4b766-8027-4038-a965-7a711332fc55

📥 Commits

Reviewing files that changed from the base of the PR and between 11c244d and 8e9159a.

📒 Files selected for processing (4)
  • pytest_mongo/factories/client.py
  • pytest_mongo/plugin.py
  • tests/conftest.py
  • tests/test_mongo.py

Comment thread pytest_mongo/plugin.py Outdated
@tyzhnenko

Copy link
Copy Markdown
Author

hey @fizyk, could you take a look at the PR, please?

@codecov

codecov Bot commented Jun 15, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 97.56098% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
pytest_mongo/factories/client.py 93.75% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@fizyk

fizyk commented Jun 15, 2026

Copy link
Copy Markdown
Member

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jun 15, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
pytest_mongo/config.py (1)

25-27: ⚠️ Potential issue | 🟠 Major

Normalise mongo_databases to a list before storing in MongoConfig.

Line 38 currently forwards raw getoption/getini output, but MongoConfig.databases is typed as list[str] | None (line 19) and downstream filtering only activates for list. The ini registration (plugin.py line 65–68) omits an explicit type parameter, so if a user configures mongo_databases directly in pytest.ini (rather than via --mongo-databases), the value may not be parsed as a list. A non-list value will silently disable database filtering.

Suggested fix
 def get_config(request: FixtureRequest) -> MongoConfig:
     """Return a MongoConfig with config options."""
@@
     port = get_mongo_option("port")
+    databases = get_mongo_option("databases")
+    if isinstance(databases, str):
+        databases = [db for db in databases.split() if db]
+    elif databases is not None and not isinstance(databases, list):
+        databases = list(databases)
@@
         params=get_mongo_option("params"),
         tz_aware=get_mongo_option("tz_aware"),
-        databases=get_mongo_option("databases"),
+        databases=databases or None,
     )
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pytest_mongo/config.py` around lines 25 - 27, The `mongo_databases`
configuration may arrive as a non-list value when read from pytest.ini (due to
missing type specification in the ini registration), but `MongoConfig.databases`
expects `list[str] | None`. Normalize the `mongo_databases` value to a list
before assigning it to `MongoConfig.databases` at line 38. Add logic to check if
the returned value from `get_mongo_option` is a string and convert it to a list
(by splitting on common delimiters like commas), or wrap it in a list if it's a
single string, ensuring the value is always `None` or a proper list when stored
in the config object.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@pytest_mongo/config.py`:
- Around line 25-27: The `mongo_databases` configuration may arrive as a
non-list value when read from pytest.ini (due to missing type specification in
the ini registration), but `MongoConfig.databases` expects `list[str] | None`.
Normalize the `mongo_databases` value to a list before assigning it to
`MongoConfig.databases` at line 38. Add logic to check if the returned value
from `get_mongo_option` is a string and convert it to a list (by splitting on
common delimiters like commas), or wrap it in a list if it's a single string,
ensuring the value is always `None` or a proper list when stored in the config
object.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 128febc1-a75a-46aa-adc3-095cd7a31389

📥 Commits

Reviewing files that changed from the base of the PR and between 8e9159a and 011b08a.

📒 Files selected for processing (4)
  • newsfragments/812.feature.rst
  • pytest_mongo/config.py
  • pytest_mongo/factories/client.py
  • pytest_mongo/plugin.py
✅ Files skipped from review due to trivial changes (1)
  • newsfragments/812.feature.rst
🚧 Files skipped from review as they are similar to previous changes (2)
  • pytest_mongo/factories/client.py
  • pytest_mongo/plugin.py

@fizyk fizyk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tyzhnenko
I wonder if we shouldn't also create said database in the beginning.
It wouldn't necessarily change the behavbiour for existing tests, but the fixtures could come with pre-configured database already, and that'd be the database we'd drop. the name would have to be xdistified of course. becuase as you have problems on xdist, you needt o make sure that for no-process fixture, you'd create unique databases on the docker instance (or running server)

And.... we need to make sure we don't attempt to create database twice. Mongo creates dbs automatically, right? (haven't used it for a long time) So we'd need to make sure we don't overuse some names in different sessions.

Comment thread tests/test_mongo.py Outdated
assert server_info["ok"] == 1.0


class TestCleanSpecifiedDatabases:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please rewrite this to classic function-style pytest tests. You can safely separate that to it's own module.

@tyzhnenko

Copy link
Copy Markdown
Author

Hey @fizyk. You're right, we can't control which DB would be created by a driver. It does creation automatically. If some DB is already there with some pre-populated data and we want to keep it, we just need to specify it in the new parameter (opt-out).

The logic of the fixture is to clean up the database (remove all collections) after each test. So, we can have two parameters. The first one with an opt-in list of databases. The second one is with an out-out list (as I've already implemented).

What do you think? We just need to figure out the priority in case a user specifies both. On the other hand we can forbid using both parameters, it's much simpler.

@tyzhnenko I wonder if we shouldn't also create said database in the beginning. It wouldn't necessarily change the behavbiour for existing tests, but the fixtures could come with pre-configured database already, and that'd be the database we'd drop. the name would have to be xdistified of course. becuase as you have problems on xdist, you needt o make sure that for no-process fixture, you'd create unique databases on the docker instance (or running server)

And.... we need to make sure we don't attempt to create database twice. Mongo creates dbs automatically, right? (haven't used it for a long time) So we'd need to make sure we don't overuse some names in different sessions.

@fizyk

fizyk commented Jun 15, 2026

Copy link
Copy Markdown
Member

@tyzhnenko current solution is fine as a stopgap, but the more elegant one would be to actually define the dbnames for every client (or even process?) that way we'd know what to manage from start to finish without the divergence to sometimes delete defined database and sometimes all of them.

@tyzhnenko

tyzhnenko commented Jun 15, 2026

Copy link
Copy Markdown
Author

@tyzhnenko current solution is fine as a stopgap, but the more elegant one would be to actually define the dbnames for every client (or even process?) that way we'd know what to manage from start to finish without the divergence to sometimes delete defined database and sometimes all of them.

@fizyk Yeah, I see your point. I'll check the PR and do some updates.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
pytest_mongo/plugin.py (1)

34-41: 📐 Maintainability & Code Quality | 🟡 Minor | 💤 Low value

Minor grammar in help text.

Both help strings end with excluding system.*. collections, which reads awkwardly (misplaced period). Suggest excluding system.* collections..

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pytest_mongo/plugin.py` around lines 34 - 41, The help text strings in the
plugin module have awkward punctuation at the end of the “excluding system.*.
collections” phrase. Update both _help_remove_dbs and _help_keep_dbs so the
sentence reads naturally as “excluding system.* collections.” while keeping the
rest of the wording unchanged.
🧹 Nitpick comments (1)
tests/test_mongo_cleanup.py (1)

15-23: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Order-dependent and duplicated tests reduce reliability.

test_clean_specified_databases_again and test_keep_specified_databases contain identical assertions, and both rely on test_clean_specified_databases having run first to create test_db/test_db2. Running either in isolation (e.g. pytest -k test_keep) or under reordering/xdist would fail because the expected state would not have been seeded. Consider seeding the required state within each test (or a shared fixture) and removing the duplicate so each test is self-contained.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/test_mongo_cleanup.py` around lines 15 - 23,
`test_clean_specified_databases_again` and `test_keep_specified_databases` are
duplicate, order-dependent checks that rely on `test_clean_specified_databases`
to seed `test_db` and `test_db2`. Update these tests to make each one
self-contained by creating the required database state in a shared fixture or
inside each test before asserting against `mongodb5.list_database_names()`, and
remove the redundant duplicate assertion block.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pytest_mongo/plugin.py`:
- Around line 68-78: The mongo_remove_dbs and mongo_keep_dbs ini options in
plugin.py are currently registered without an explicit type, so pytest treats
them as strings instead of list values. Update the parser.addini calls for
mongo_remove_dbs and mongo_keep_dbs to use the appropriate list-oriented type
(such as args, or linelist if that is the intended format) while keeping
default=[] so their values are handled consistently with the list-based logic in
client.py.

---

Duplicate comments:
In `@pytest_mongo/plugin.py`:
- Around line 34-41: The help text strings in the plugin module have awkward
punctuation at the end of the “excluding system.*. collections” phrase. Update
both _help_remove_dbs and _help_keep_dbs so the sentence reads naturally as
“excluding system.* collections.” while keeping the rest of the wording
unchanged.

---

Nitpick comments:
In `@tests/test_mongo_cleanup.py`:
- Around line 15-23: `test_clean_specified_databases_again` and
`test_keep_specified_databases` are duplicate, order-dependent checks that rely
on `test_clean_specified_databases` to seed `test_db` and `test_db2`. Update
these tests to make each one self-contained by creating the required database
state in a shared fixture or inside each test before asserting against
`mongodb5.list_database_names()`, and remove the redundant duplicate assertion
block.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 1a4c5f71-c39b-489b-b8a1-0649da228ee7

📥 Commits

Reviewing files that changed from the base of the PR and between 011b08a and 839353c.

📒 Files selected for processing (5)
  • pytest_mongo/config.py
  • pytest_mongo/factories/client.py
  • pytest_mongo/plugin.py
  • tests/conftest.py
  • tests/test_mongo_cleanup.py

Comment thread pytest_mongo/plugin.py
@tyzhnenko

Copy link
Copy Markdown
Author

I've brought some updates. @fizyk take a look please

Now we have keep and remove only lists. I put it to client fixture due to it looks more flexible. Only one server can be used to run tests parallel. It believe this can save some costs for CICD infrastructure.

@tyzhnenko tyzhnenko requested a review from fizyk June 24, 2026 21:24
@tyzhnenko tyzhnenko changed the title feat: Remove only specified DBs in mongodb_factory feat: Remove/Keep only specified DBs in mongodb_factory Jun 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants