app/django/db/backends/mysql/client.py
author Pawel Solyga <Pawel.Solyga@gmail.com>
Fri, 19 Sep 2008 12:45:13 +0000
changeset 171 b62f1cf5e878
parent 54 03e267d67478
child 323 ff1a9aa48cfd
permissions -rw-r--r--
Bug fixes to revision r596. User Account field in Developer User Profile view needs to be an email not a login name. Header title of User Profile Developer view, when form validation failes is now showing correct value ("Modify existing ..." instead of "Create new user ...").

from django.conf import settings
import os

def runshell():
    args = ['']
    db = settings.DATABASE_OPTIONS.get('db', settings.DATABASE_NAME)
    user = settings.DATABASE_OPTIONS.get('user', settings.DATABASE_USER)
    passwd = settings.DATABASE_OPTIONS.get('passwd', settings.DATABASE_PASSWORD)
    host = settings.DATABASE_OPTIONS.get('host', settings.DATABASE_HOST)
    port = settings.DATABASE_OPTIONS.get('port', settings.DATABASE_PORT)
    defaults_file = settings.DATABASE_OPTIONS.get('read_default_file')
    # Seems to be no good way to set sql_mode with CLI
    
    if defaults_file:
        args += ["--defaults-file=%s" % defaults_file]
    if user:
        args += ["--user=%s" % user]
    if passwd:
        args += ["--password=%s" % passwd]
    if host:
        args += ["--host=%s" % host]
    if port:
        args += ["--port=%s" % port]
    if db:
        args += [db]

    os.execvp('mysql', args)