Loading django/db/backends/mysql/schema.py +3 −8 Original line number Diff line number Diff line Loading @@ -29,10 +29,6 @@ class DatabaseSchemaEditor(BaseDatabaseSchemaEditor): def quote_value(self, value): # Inner import to allow module to fail to load gracefully import MySQLdb.converters if isinstance(value, six.string_types): return '"%s"' % six.text_type(value) else: return MySQLdb.escape(value, MySQLdb.converters.conversions) def skip_default(self, field): Loading @@ -48,8 +44,7 @@ class DatabaseSchemaEditor(BaseDatabaseSchemaEditor): # Simulate the effect of a one-off default. if self.skip_default(field) and field.default not in {None, NOT_PROVIDED}: effective_default = self.effective_default(field) self.execute('UPDATE %(table)s SET %(column)s=%(default)s' % { self.execute('UPDATE %(table)s SET %(column)s = %%s' % { 'table': self.quote_name(model._meta.db_table), 'column': self.quote_name(field.column), 'default': self.quote_value(effective_default), }) }, [effective_default]) django/db/backends/oracle/schema.py +4 −1 Original line number Diff line number Diff line import copy import datetime import binascii from django.utils import six from django.db.backends.schema import BaseDatabaseSchemaEditor Loading @@ -21,7 +22,9 @@ class DatabaseSchemaEditor(BaseDatabaseSchemaEditor): if isinstance(value, (datetime.date, datetime.time, datetime.datetime)): return "'%s'" % value elif isinstance(value, six.string_types): return repr(value) return "'%s'" % six.text_type(value).replace("\'", "\'\'") elif isinstance(value, buffer): return "'%s'" % binascii.hexlify(value) elif isinstance(value, bool): return "1" if value else "0" else: Loading django/db/backends/sqlite3/schema.py +1 −1 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ class DatabaseSchemaEditor(BaseDatabaseSchemaEditor): elif isinstance(value, six.integer_types): return str(value) elif isinstance(value, six.string_types): return '"%s"' % six.text_type(value) return "'%s'" % six.text_type(value).replace("\'", "\'\'") elif value is None: return "NULL" elif isinstance(value, (bytes, bytearray, six.memoryview)): Loading Loading
django/db/backends/mysql/schema.py +3 −8 Original line number Diff line number Diff line Loading @@ -29,10 +29,6 @@ class DatabaseSchemaEditor(BaseDatabaseSchemaEditor): def quote_value(self, value): # Inner import to allow module to fail to load gracefully import MySQLdb.converters if isinstance(value, six.string_types): return '"%s"' % six.text_type(value) else: return MySQLdb.escape(value, MySQLdb.converters.conversions) def skip_default(self, field): Loading @@ -48,8 +44,7 @@ class DatabaseSchemaEditor(BaseDatabaseSchemaEditor): # Simulate the effect of a one-off default. if self.skip_default(field) and field.default not in {None, NOT_PROVIDED}: effective_default = self.effective_default(field) self.execute('UPDATE %(table)s SET %(column)s=%(default)s' % { self.execute('UPDATE %(table)s SET %(column)s = %%s' % { 'table': self.quote_name(model._meta.db_table), 'column': self.quote_name(field.column), 'default': self.quote_value(effective_default), }) }, [effective_default])
django/db/backends/oracle/schema.py +4 −1 Original line number Diff line number Diff line import copy import datetime import binascii from django.utils import six from django.db.backends.schema import BaseDatabaseSchemaEditor Loading @@ -21,7 +22,9 @@ class DatabaseSchemaEditor(BaseDatabaseSchemaEditor): if isinstance(value, (datetime.date, datetime.time, datetime.datetime)): return "'%s'" % value elif isinstance(value, six.string_types): return repr(value) return "'%s'" % six.text_type(value).replace("\'", "\'\'") elif isinstance(value, buffer): return "'%s'" % binascii.hexlify(value) elif isinstance(value, bool): return "1" if value else "0" else: Loading
django/db/backends/sqlite3/schema.py +1 −1 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ class DatabaseSchemaEditor(BaseDatabaseSchemaEditor): elif isinstance(value, six.integer_types): return str(value) elif isinstance(value, six.string_types): return '"%s"' % six.text_type(value) return "'%s'" % six.text_type(value).replace("\'", "\'\'") elif value is None: return "NULL" elif isinstance(value, (bytes, bytearray, six.memoryview)): Loading