2006-05-02 09:31:56 +08:00
|
|
|
"""
|
|
|
|
Dummy database backend for Django.
|
|
|
|
|
2009-12-22 23:18:51 +08:00
|
|
|
Django uses this if the database ENGINE setting is empty (None or empty string).
|
2006-05-02 09:31:56 +08:00
|
|
|
|
|
|
|
Each of these API functions, except connection.close(), raises
|
|
|
|
ImproperlyConfigured.
|
|
|
|
"""
|
|
|
|
|
|
|
|
from django.core.exceptions import ImproperlyConfigured
|
2008-08-11 20:11:25 +08:00
|
|
|
from django.db.backends import *
|
|
|
|
from django.db.backends.creation import BaseDatabaseCreation
|
2006-05-02 09:31:56 +08:00
|
|
|
|
|
|
|
def complain(*args, **kwargs):
|
2012-03-13 05:58:07 +08:00
|
|
|
raise ImproperlyConfigured("settings.DATABASES is improperly configured. "
|
|
|
|
"Please supply the ENGINE value. Check "
|
|
|
|
"settings documentation for more details.")
|
2006-05-02 09:31:56 +08:00
|
|
|
|
2007-06-02 00:30:38 +08:00
|
|
|
def ignore(*args, **kwargs):
|
|
|
|
pass
|
|
|
|
|
2006-05-02 09:31:56 +08:00
|
|
|
class DatabaseError(Exception):
|
|
|
|
pass
|
|
|
|
|
2007-04-25 18:18:56 +08:00
|
|
|
class IntegrityError(DatabaseError):
|
|
|
|
pass
|
|
|
|
|
2007-08-26 02:27:57 +08:00
|
|
|
class DatabaseOperations(BaseDatabaseOperations):
|
|
|
|
quote_name = complain
|
2007-08-20 06:29:57 +08:00
|
|
|
|
2008-08-11 20:11:25 +08:00
|
|
|
class DatabaseClient(BaseDatabaseClient):
|
|
|
|
runshell = complain
|
2009-03-12 16:52:42 +08:00
|
|
|
|
2013-01-04 20:55:20 +08:00
|
|
|
class DatabaseCreation(BaseDatabaseCreation):
|
|
|
|
create_test_db = ignore
|
|
|
|
destroy_test_db = ignore
|
|
|
|
|
2008-08-11 20:11:25 +08:00
|
|
|
class DatabaseIntrospection(BaseDatabaseIntrospection):
|
|
|
|
get_table_list = complain
|
|
|
|
get_table_description = complain
|
|
|
|
get_relations = complain
|
|
|
|
get_indexes = complain
|
2011-08-07 08:43:26 +08:00
|
|
|
get_key_columns = complain
|
2009-03-12 16:52:42 +08:00
|
|
|
|
2011-02-14 08:07:09 +08:00
|
|
|
class DatabaseWrapper(BaseDatabaseWrapper):
|
2007-08-20 11:26:55 +08:00
|
|
|
operators = {}
|
2011-02-14 08:07:09 +08:00
|
|
|
# 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.
|
2013-03-02 19:12:51 +08:00
|
|
|
_cursor = complain
|
2006-05-02 09:31:56 +08:00
|
|
|
_commit = complain
|
2007-06-02 00:30:38 +08:00
|
|
|
_rollback = ignore
|
2013-03-02 19:12:51 +08:00
|
|
|
_close = ignore
|
|
|
|
_savepoint = ignore
|
|
|
|
_savepoint_commit = complain
|
|
|
|
_savepoint_rollback = ignore
|
|
|
|
_enter_transaction_management = complain
|
|
|
|
_leave_transaction_management = ignore
|
2011-02-14 08:07:09 +08:00
|
|
|
set_dirty = complain
|
|
|
|
set_clean = complain
|
|
|
|
commit_unless_managed = complain
|
|
|
|
rollback_unless_managed = ignore
|
|
|
|
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
|
|
super(DatabaseWrapper, self).__init__(*args, **kwargs)
|
2006-05-02 09:31:56 +08:00
|
|
|
|
2010-10-11 20:55:17 +08:00
|
|
|
self.features = BaseDatabaseFeatures(self)
|
2011-04-05 08:19:17 +08:00
|
|
|
self.ops = DatabaseOperations(self)
|
2009-03-11 11:39:34 +08:00
|
|
|
self.client = DatabaseClient(self)
|
2013-01-04 20:55:20 +08:00
|
|
|
self.creation = DatabaseCreation(self)
|
2008-08-11 20:11:25 +08:00
|
|
|
self.introspection = DatabaseIntrospection(self)
|
2009-12-24 13:57:43 +08:00
|
|
|
self.validation = BaseDatabaseValidation(self)
|