Skip to content

Commit

Permalink
Updated to work with Django 1.2 Multi-db
Browse files Browse the repository at this point in the history
  • Loading branch information
David Cramer authored and David Cramer committed Feb 5, 2010
1 parent f7aabd0 commit 4dea40e
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 18 deletions.
28 changes: 14 additions & 14 deletions mysql_oursql/base.py
Expand Up @@ -225,7 +225,7 @@ def __init__(self, *args, **kwargs):
self.client = DatabaseClient(self)
self.creation = DatabaseCreation(self)
self.introspection = DatabaseIntrospection(self)
self.validation = DatabaseValidation()
self.validation = DatabaseValidation(self.connection)

def _valid_connection(self):
if self.connection is not None:
Expand All @@ -244,23 +244,23 @@ def _cursor(self):
'use_unicode': True,
}
settings_dict = self.settings_dict
if settings_dict['DATABASE_USER']:
kwargs['user'] = settings_dict['DATABASE_USER']
if settings_dict['DATABASE_NAME']:
kwargs['db'] = settings_dict['DATABASE_NAME']
if settings_dict['DATABASE_PASSWORD']:
kwargs['passwd'] = settings_dict['DATABASE_PASSWORD']
if settings_dict['DATABASE_HOST'].startswith('/'):
kwargs['unix_socket'] = settings_dict['DATABASE_HOST']
elif settings_dict['DATABASE_HOST']:
kwargs['host'] = settings_dict['DATABASE_HOST']
if settings_dict['DATABASE_PORT']:
kwargs['port'] = int(settings_dict['DATABASE_PORT'])
if settings_dict['USER']:
kwargs['user'] = settings_dict['USER']
if settings_dict['NAME']:
kwargs['db'] = settings_dict['NAME']
if settings_dict['PASSWORD']:
kwargs['passwd'] = settings_dict['PASSWORD']
if settings_dict['HOST'].startswith('/'):
kwargs['unix_socket'] = settings_dict['HOST']
elif settings_dict['HOST']:
kwargs['host'] = settings_dict['HOST']
if settings_dict['PORT']:
kwargs['port'] = int(settings_dict['PORT'])
# We need the number of potentially affected rows after an
# "UPDATE", not the number of changed rows.
kwargs['found_rows'] = True
# TODO: support for 'init_command'
kwargs.update(settings_dict['DATABASE_OPTIONS'])
kwargs.update(settings_dict['OPTIONS'])
self.connection = Database.connect(**kwargs)
# XXX: oursql does not have encoders like mysqldb -- unknown if this is still needed
# self.connection.encoders[SafeUnicode] = self.connection.encoders[unicode]
Expand Down
8 changes: 4 additions & 4 deletions mysql_oursql/creation.py
@@ -1,5 +1,5 @@
from django.conf import settings
from django.db.backends.creation import BaseDatabaseCreation
from django.db.backends.creation import BaseDatabaseCreation, TEST_DATABASE_PREFIX

class DatabaseCreation(BaseDatabaseCreation):
# This dictionary maps Field objects to their associated MySQL column
Expand Down Expand Up @@ -68,10 +68,10 @@ def _create_test_db(self, verbosity, autoclobber):
"Internal implementation - creates the test db tables."
suffix = self.sql_table_creation_suffix()

if settings.TEST_DATABASE_NAME:
test_database_name = settings.TEST_DATABASE_NAME
if self.connection.settings_dict['TEST_NAME']:
test_database_name = self.connection.settings_dict['TEST_NAME']
else:
test_database_name = TEST_DATABASE_PREFIX + settings.DATABASE_NAME
test_database_name = TEST_DATABASE_PREFIX + self.connection.settings_dict['NAME']

qn = self.connection.ops.quote_name

Expand Down

0 comments on commit 4dea40e

Please sign in to comment.