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:
parent
b6bd5ddc33
commit
f943e2e418
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user