123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- """
- Dummy database backend for Django.
- Django uses this if the database ENGINE setting is empty (None or empty string).
- Each of these API functions, except connection.close(), raises
- ImproperlyConfigured.
- """
- from django.core.exceptions import ImproperlyConfigured
- from django.db.backends import (BaseDatabaseOperations, BaseDatabaseClient,
- BaseDatabaseIntrospection, BaseDatabaseWrapper, BaseDatabaseFeatures,
- BaseDatabaseValidation)
- from django.db.backends.creation import BaseDatabaseCreation
- def complain(*args, **kwargs):
- raise ImproperlyConfigured("settings.DATABASES is improperly configured. "
- "Please supply the ENGINE value. Check "
- "settings documentation for more details.")
- def ignore(*args, **kwargs):
- pass
- class DatabaseError(Exception):
- pass
- class IntegrityError(DatabaseError):
- pass
- class DatabaseOperations(BaseDatabaseOperations):
- quote_name = complain
- class DatabaseClient(BaseDatabaseClient):
- runshell = complain
- class DatabaseCreation(BaseDatabaseCreation):
- create_test_db = ignore
- destroy_test_db = ignore
- class DatabaseIntrospection(BaseDatabaseIntrospection):
- get_table_list = complain
- get_table_description = complain
- get_relations = complain
- get_indexes = complain
- get_key_columns = complain
- class DatabaseWrapper(BaseDatabaseWrapper):
- operators = {}
- # Override the base class implementations with null
- # implementations. Anything that tries to actually
- # do something raises complain; anything that tries
- # to rollback or undo something raises ignore.
- _cursor = complain
- _commit = complain
- _rollback = ignore
- _close = ignore
- _savepoint = ignore
- _savepoint_commit = complain
- _savepoint_rollback = ignore
- _set_autocommit = complain
- set_dirty = complain
- set_clean = complain
- def __init__(self, *args, **kwargs):
- super(DatabaseWrapper, self).__init__(*args, **kwargs)
- self.features = BaseDatabaseFeatures(self)
- self.ops = DatabaseOperations(self)
- self.client = DatabaseClient(self)
- self.creation = DatabaseCreation(self)
- self.introspection = DatabaseIntrospection(self)
- self.validation = BaseDatabaseValidation(self)
- def is_usable(self):
- return True
|