Kaydet (Commit) 3c4ff217 authored tarafından Claude Paroz's avatar Claude Paroz Kaydeden (comit) Tim Graham

Fixed #29103 -- Removed bad 'b'-prefix added by MySQL's SchemaEditor.quote_value().

üst aa0ee372
......@@ -25,9 +25,11 @@ class DatabaseSchemaEditor(BaseDatabaseSchemaEditor):
sql_delete_pk = "ALTER TABLE %(table)s DROP PRIMARY KEY"
def quote_value(self, value):
# Inner import to allow module to fail to load gracefully
import MySQLdb.converters
return MySQLdb.escape(value, MySQLdb.converters.conversions)
self.connection.ensure_connection()
quoted = self.connection.connection.escape(value, self.connection.connection.encoders)
if isinstance(value, str):
quoted = quoted.decode()
return quoted
def _is_limited_data_type(self, field):
db_type = field.db_type(self.connection)
......
......@@ -9,6 +9,7 @@ class SchemaEditorTests(TestCase):
def test_quote_value(self):
editor = connection.schema_editor()
tested_values = [
('string', "'string'"),
(42, '42'),
(1.754, '1.754'),
(False, '0'),
......
from django.db import connection
from django.test import SimpleTestCase
from django.test import TestCase
from django.test.utils import patch_logger
class SchemaLoggerTests(SimpleTestCase):
class SchemaLoggerTests(TestCase):
def test_extra_args(self):
editor = connection.schema_editor(collect_sql=True)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment