diff options
author | zsoldosp <peter.zsoldos@gmail.com> | 2014-05-21 15:05:41 +0200 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2014-08-13 18:29:42 -0400 |
commit | 01801edd3760f97a4ebc4d43ca5bbdbbdfebbb0a (patch) | |
tree | 68f045a699133cf84c4dcda125730583822da1de /django/db/backends/mysql/client.py | |
parent | 69478859261bd1b3e82cc785fddb5e50e3e7645f (diff) | |
download | django-01801edd3760f97a4ebc4d43ca5bbdbbdfebbb0a.tar.gz |
Fixed #22646: Added support for the MySQL ssl-ca option to dbshell.
Diffstat (limited to 'django/db/backends/mysql/client.py')
-rw-r--r-- | django/db/backends/mysql/client.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/django/db/backends/mysql/client.py b/django/db/backends/mysql/client.py index 2106c4d3da..dc1d9846b8 100644 --- a/django/db/backends/mysql/client.py +++ b/django/db/backends/mysql/client.py @@ -6,14 +6,15 @@ from django.db.backends import BaseDatabaseClient class DatabaseClient(BaseDatabaseClient): executable_name = 'mysql' - def runshell(self): - settings_dict = self.connection.settings_dict - args = [self.executable_name] + @classmethod + def settings_to_cmd_args(cls, settings_dict): + args = [cls.executable_name] db = settings_dict['OPTIONS'].get('db', settings_dict['NAME']) user = settings_dict['OPTIONS'].get('user', settings_dict['USER']) passwd = settings_dict['OPTIONS'].get('passwd', settings_dict['PASSWORD']) host = settings_dict['OPTIONS'].get('host', settings_dict['HOST']) port = settings_dict['OPTIONS'].get('port', settings_dict['PORT']) + cert = settings_dict['OPTIONS'].get('ssl', {}).get('ca') defaults_file = settings_dict['OPTIONS'].get('read_default_file') # Seems to be no good way to set sql_mode with CLI. @@ -30,7 +31,12 @@ class DatabaseClient(BaseDatabaseClient): args += ["--host=%s" % host] if port: args += ["--port=%s" % port] + if cert: + args += ["--ssl-ca=%s" % cert] if db: args += [db] + return args + def runshell(self): + args = DatabaseClient.settings_to_cmd_args(self.connection.settings_dict) subprocess.call(args) |