1
0
mirror of https://github.com/django/django.git synced 2025-07-18 08:39:15 +00:00

[1.0.X] Fixed #10357 -- Fixed the "dbshell" command for Windows users.

Thanks to markshep for the patch.

Backport of r10517 from trunk.

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.0.X@10518 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Malcolm Tredinnick 2009-04-11 11:50:21 +00:00
parent b6bd5ddc33
commit f943e2e418
4 changed files with 22 additions and 6 deletions

View File

@ -1,12 +1,13 @@
from django.db.backends import BaseDatabaseClient
from django.conf import settings
import os
import sys
class DatabaseClient(BaseDatabaseClient):
executable_name = 'mysql'
def runshell(self):
args = ['']
args = [self.executable_name]
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)
@ -28,4 +29,7 @@ class DatabaseClient(BaseDatabaseClient):
if db:
args += [db]
os.execvp(self.executable_name, args)
if os.name == 'nt':
sys.exit(os.system(" ".join(args)))
else:
os.execvp(self.executable_name, args)

View File

@ -1,6 +1,7 @@
from django.db.backends import BaseDatabaseClient
from django.conf import settings
import os
import sys
class DatabaseClient(BaseDatabaseClient):
executable_name = 'sqlplus'
@ -9,4 +10,7 @@ class DatabaseClient(BaseDatabaseClient):
from django.db import connection
conn_string = connection._connect_string(settings)
args = [self.executable_name, "-L", conn_string]
os.execvp(self.executable_name, args)
if os.name == 'nt':
sys.exit(os.system(" ".join(args)))
else:
os.execvp(self.executable_name, args)

View File

@ -1,6 +1,7 @@
from django.db.backends import BaseDatabaseClient
from django.conf import settings
import os
import sys
class DatabaseClient(BaseDatabaseClient):
executable_name = 'psql'
@ -14,4 +15,7 @@ class DatabaseClient(BaseDatabaseClient):
if settings.DATABASE_PORT:
args.extend(["-p", str(settings.DATABASE_PORT)])
args += [settings.DATABASE_NAME]
os.execvp(self.executable_name, args)
if os.name == 'nt':
sys.exit(os.system(" ".join(args)))
else:
os.execvp(self.executable_name, args)

View File

@ -1,10 +1,14 @@
from django.db.backends import BaseDatabaseClient
from django.conf import settings
import os
import sys
class DatabaseClient(BaseDatabaseClient):
executable_name = 'sqlite3'
def runshell(self):
args = ['', settings.DATABASE_NAME]
os.execvp(self.executable_name, args)
args = [self.executable_name, settings.DATABASE_NAME]
if os.name == 'nt':
sys.exit(os.system(" ".join(args)))
else:
os.execvp(self.executable_name, args)