app/django/db/backends/mysql/client.py
author Todd Larsen <tlarsen@google.com>
Tue, 26 Aug 2008 21:20:44 +0000
changeset 103 094c8f741a08
parent 54 03e267d67478
child 323 ff1a9aa48cfd
permissions -rw-r--r--
Move LICENSE.django closer to the actual trumk/app/django code we are importing (that exists in trunk/app to be part of the Google App Engine image). LICENSE.django cannot go in trunk/app/django itself, because that directory is maintained from the /vendor/django svn external using svn_load_dirs.pl (so putting all the way into trunk/app/django gets it repeatedly removed). Patch by: Todd Larsen Review by: to-be-reviewed

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)