File tree Expand file tree Collapse file tree 4 files changed +17
-3
lines changed Expand file tree Collapse file tree 4 files changed +17
-3
lines changed Original file line number Diff line number Diff line change @@ -229,6 +229,15 @@ command line options.
229
229
230
230
This fixture is by default requested from :fixture: `django_db_setup `.
231
231
232
+ django_db_createdb
233
+ """"""""""""""""
234
+
235
+ .. fixture :: django_db_createdb
236
+
237
+ Returns whether or not the database is to be re-created before running any tests.
238
+
239
+ This fixture is by default requested from :fixture: `django_db_setup `.
240
+
232
241
django_db_blocker
233
242
"""""""""""""""""
234
243
Original file line number Diff line number Diff line change @@ -61,9 +61,11 @@ def django_db_use_migrations(request):
61
61
62
62
@pytest .fixture (scope = 'session' )
63
63
def django_db_keepdb (request ):
64
- return (request .config .getvalue ('reuse_db' ) and not
65
- request .config .getvalue ('create_db' ))
64
+ return request .config .getvalue ('reuse_db' )
66
65
66
+ @pytest .fixture (scope = 'session' )
67
+ def django_db_createdb (request ):
68
+ return request .config .getvalue ('create_db' )
67
69
68
70
@pytest .fixture (scope = 'session' )
69
71
def django_db_setup (
@@ -72,6 +74,7 @@ def django_db_setup(
72
74
django_db_blocker ,
73
75
django_db_use_migrations ,
74
76
django_db_keepdb ,
77
+ django_db_createdb ,
75
78
django_db_modify_db_settings ,
76
79
):
77
80
"""Top level fixture to ensure test databases are available"""
@@ -82,7 +85,7 @@ def django_db_setup(
82
85
if not django_db_use_migrations :
83
86
_disable_native_migrations ()
84
87
85
- if django_db_keepdb :
88
+ if django_db_keepdb and not django_db_createdb :
86
89
setup_databases_args ['keepdb' ] = True
87
90
88
91
with django_db_blocker .unblock ():
Original file line number Diff line number Diff line change 19
19
from .fixtures import django_db_setup # noqa
20
20
from .fixtures import django_db_use_migrations # noqa
21
21
from .fixtures import django_db_keepdb # noqa
22
+ from .fixtures import django_db_createdb # noqa
22
23
from .fixtures import django_db_modify_db_settings # noqa
23
24
from .fixtures import django_db_modify_db_settings_xdist_suffix # noqa
24
25
from .fixtures import _live_server_helper # noqa
Original file line number Diff line number Diff line change @@ -75,6 +75,7 @@ def test_db_can_be_accessed():
75
75
])
76
76
77
77
# Make sure the database has been re-created and the mark is gone
78
+ assert db_exists ()
78
79
assert not mark_exists ()
79
80
80
81
You can’t perform that action at this time.
0 commit comments