Commit d18f75af authored by Malcolm Tredinnick's avatar Malcolm Tredinnick
Browse files

Fixed #10357 -- Fixed the "dbshell" command for Windows users.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@10517 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 0d2cf7bd
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
from django.db.backends import BaseDatabaseClient
import os
import sys

from django.db.backends import BaseDatabaseClient

class DatabaseClient(BaseDatabaseClient):
    executable_name = 'mysql'

    def runshell(self):
        settings_dict = self.connection.settings_dict
        args = ['']
        args = [self.executable_name]
        db = settings_dict['DATABASE_OPTIONS'].get('db', settings_dict['DATABASE_NAME'])
        user = settings_dict['DATABASE_OPTIONS'].get('user', settings_dict['DATABASE_USER'])
        passwd = settings_dict['DATABASE_OPTIONS'].get('passwd', settings_dict['DATABASE_PASSWORD'])
@@ -28,4 +30,8 @@ class DatabaseClient(BaseDatabaseClient):
        if db:
            args += [db]

        if os.name == 'nt':
            sys.exit(os.system(" ".join(args)))
        else:
            os.execvp(self.executable_name, args)
+8 −2
Original line number Diff line number Diff line
from django.db.backends import BaseDatabaseClient
import os
import sys

from django.db.backends import BaseDatabaseClient

class DatabaseClient(BaseDatabaseClient):
    executable_name = 'sqlplus'
@@ -7,4 +9,8 @@ class DatabaseClient(BaseDatabaseClient):
    def runshell(self):
        conn_string = self.connection._connect_string()
        args = [self.executable_name, "-L", conn_string]
        if os.name == 'nt':
            sys.exit(os.system(" ".join(args)))
        else:
            os.execvp(self.executable_name, args)
+8 −2
Original line number Diff line number Diff line
from django.db.backends import BaseDatabaseClient
import os
import sys

from django.db.backends import BaseDatabaseClient

class DatabaseClient(BaseDatabaseClient):
    executable_name = 'psql'
@@ -14,4 +16,8 @@ class DatabaseClient(BaseDatabaseClient):
        if settings_dict['DATABASE_PORT']:
            args.extend(["-p", str(settings_dict['DATABASE_PORT'])])
        args += [settings_dict['DATABASE_NAME']]
        if os.name == 'nt':
            sys.exit(os.system(" ".join(args)))
        else:
            os.execvp(self.executable_name, args)
+10 −3
Original line number Diff line number Diff line
from django.db.backends import BaseDatabaseClient
import os
import sys

from django.db.backends import BaseDatabaseClient

class DatabaseClient(BaseDatabaseClient):
    executable_name = 'sqlite3'

    def runshell(self):
        args = ['', self.connection.settings_dict['DATABASE_NAME']]
        args = [self.executable_name,
                self.connection.settings_dict['DATABASE_NAME']]
        if os.name == 'nt':
            sys.exit(os.system(" ".join(args)))
        else:
            os.execvp(self.executable_name, args)