MCPcopy
hub / github.com/django/django / setup_databases

Function setup_databases

django/test/utils.py:189–261  ·  view source on GitHub ↗

Create the test databases.

(
    verbosity,
    interactive,
    *,
    time_keeper=None,
    keepdb=False,
    debug_sql=False,
    parallel=0,
    aliases=None,
    serialized_aliases=None,
    **kwargs,
)

Source from the content-addressed store, hash-verified

187
188
189def setup_databases(
190 verbosity,
191 interactive,
192 *,
193 time_keeper=None,
194 keepdb=False,
195 debug_sql=False,
196 parallel=0,
197 aliases=None,
198 serialized_aliases=None,
199 **kwargs,
200):
201 """Create the test databases."""
202 if time_keeper is None:
203 time_keeper = NullTimeKeeper()
204
205 test_databases, mirrored_aliases = get_unique_databases_and_mirrors(aliases)
206
207 old_names = []
208 serialize_connections = []
209
210 for db_name, aliases in test_databases.values():
211 first_alias = None
212 for alias in aliases:
213 connection = connections[alias]
214 old_names.append((connection, db_name, first_alias is None))
215
216 # Actually create the database for the first connection
217 if first_alias is None:
218 first_alias = alias
219 with time_keeper.timed(" Creating '%s'" % alias):
220 connection.creation.create_test_db(
221 verbosity=verbosity,
222 autoclobber=not interactive,
223 keepdb=keepdb,
224 )
225 if serialized_aliases is None or alias in serialized_aliases:
226 serialize_connections.append(connection)
227 if parallel > 1:
228 for index in range(parallel):
229 with time_keeper.timed(" Cloning '%s'" % alias):
230 connection.creation.clone_test_db(
231 suffix=str(index + 1),
232 verbosity=verbosity,
233 keepdb=keepdb,
234 )
235 # Configure all other connections as mirrors of the first one
236 else:
237 connections[alias].creation.set_as_test_mirror(
238 connections[first_alias].settings_dict
239 )
240
241 # Configure the test mirrors.
242 for alias, mirror_alias in mirrored_aliases.items():
243 connections[alias].creation.set_as_test_mirror(
244 connections[mirror_alias].settings_dict
245 )
246

Callers

nothing calls this directly

Calls 10

timedMethod · 0.95
NullTimeKeeperClass · 0.85
create_test_dbMethod · 0.80
clone_test_dbMethod · 0.80
valuesMethod · 0.45
appendMethod · 0.45
set_as_test_mirrorMethod · 0.45
itemsMethod · 0.45

Tested by

no test coverage detected