summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Kelly <ian.g.kelly@gmail.com>2007-12-01 19:23:49 +0000
committerIan Kelly <ian.g.kelly@gmail.com>2007-12-01 19:23:49 +0000
commitbbc3a955573c8e53dcc6d314ed1bd364a49d31b5 (patch)
tree8d16fb06fa40c3e7467fe2307405590489c1bef0
parentc5a4541f102014dadc5ac23e902933289abb1fe7 (diff)
Fixed #6007: Added DEFAULT_TABLESPACE and DEFAULT_INDEX_TABLESPACE
options to global_settings.py git-svn-id: http://code.djangoproject.com/svn/django/trunk@6801 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/conf/global_settings.py4
-rw-r--r--django/db/models/fields/__init__.py2
-rw-r--r--django/db/models/options.py2
-rw-r--r--docs/databases.txt6
-rw-r--r--docs/model-api.txt5
-rw-r--r--docs/settings.txt16
6 files changed, 31 insertions, 4 deletions
diff --git a/django/conf/global_settings.py b/django/conf/global_settings.py
index 2853d6c618..837158a0a4 100644
--- a/django/conf/global_settings.py
+++ b/django/conf/global_settings.py
@@ -253,6 +253,10 @@ TRANSACTIONS_MANAGED = False
from django import get_version
URL_VALIDATOR_USER_AGENT = "Django/%s (http://www.djangoproject.com)" % get_version()
+# The tablespaces to use for each model when not specified otherwise.
+DEFAULT_TABLESPACE = ''
+DEFAULT_INDEX_TABLESPACE = ''
+
##############
# MIDDLEWARE #
##############
diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py
index ddf695816e..7eb57d96c9 100644
--- a/django/db/models/fields/__init__.py
+++ b/django/db/models/fields/__init__.py
@@ -104,7 +104,7 @@ class Field(object):
self.radio_admin = radio_admin
self.help_text = help_text
self.db_column = db_column
- self.db_tablespace = db_tablespace
+ self.db_tablespace = db_tablespace or settings.DEFAULT_INDEX_TABLESPACE
# Set db_index to True if the field has a relationship and doesn't explicitly set db_index.
self.db_index = db_index
diff --git a/django/db/models/options.py b/django/db/models/options.py
index 788d1c80de..23d9b04fe9 100644
--- a/django/db/models/options.py
+++ b/django/db/models/options.py
@@ -29,7 +29,7 @@ class Options(object):
self.object_name, self.app_label = None, None
self.get_latest_by = None
self.order_with_respect_to = None
- self.db_tablespace = None
+ self.db_tablespace = settings.DEFAULT_TABLESPACE
self.admin = None
self.meta = meta
self.pk = None
diff --git a/docs/databases.txt b/docs/databases.txt
index d4853f75f8..5ee6aa4304 100644
--- a/docs/databases.txt
+++ b/docs/databases.txt
@@ -258,6 +258,12 @@ many-to-many table would be stored in the ``indexes`` tablespace. The ``data``
field would also generate an index, but no tablespace for it is specified, so
it would be stored in the model tablespace ``tables`` by default.
+The settings.py file supports two additional options to specify
+default values for the db_tablespace options. This is useful for
+setting a tablespace for the Django internal apps and other
+contributed applications. These options are ``DEFAULT_TABLESPACE``
+and ``DEFAULT_INDEX_TABLESPACE``.
+
Django does not create the tablespaces for you. Please refer to `Oracle's
documentation`_ for details on creating and managing tablespaces.
diff --git a/docs/model-api.txt b/docs/model-api.txt
index f39b711e84..590c601d75 100644
--- a/docs/model-api.txt
+++ b/docs/model-api.txt
@@ -618,8 +618,9 @@ statement for this field.
**New in Django development version**
The name of the database tablespace to use for this field's index, if
-indeed this field is indexed. The default is the ``db_tablespace`` of
-the model, if any. If the backend doesn't support tablespaces, this
+indeed this field is indexed. The default is the project's
+``DEFAULT_INDEX_TABLESPACE`` setting, if set, or the ``db_tablespace``
+of the model, if any. If the backend doesn't support tablespaces, this
option is ignored.
``default``
diff --git a/docs/settings.txt b/docs/settings.txt
index 45ba86e608..bb055160a5 100644
--- a/docs/settings.txt
+++ b/docs/settings.txt
@@ -404,6 +404,22 @@ Default: ``'webmaster@localhost'``
Default e-mail address to use for various automated correspondence from the
site manager(s).
+DEFAULT_TABLESPACE
+------------------
+
+Default: ``''`` (Empty string)
+
+Default tablespace to use for models that do not specify one, if the
+backend supports it.
+
+DEFAULT_INDEX_TABLESPACE
+------------------------
+
+Default: ``''`` (Empty string)
+
+Default tablespace to use for indexes on fields that do not specify
+one, if the backend supports it.
+
DISALLOWED_USER_AGENTS
----------------------