Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

[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
  • Loading branch information...
commit f943e2e4181b6570d4d6f85b0e2dff311ae20597 1 parent b6bd5dd
@malcolmt malcolmt authored
View
8 django/db/backends/mysql/client.py
@@ -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 @@ def runshell(self):
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
6 django/db/backends/oracle/client.py
@@ -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 @@ def runshell(self):
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
6 django/db/backends/postgresql/client.py
@@ -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 @@ def runshell(self):
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
8 django/db/backends/sqlite3/client.py
@@ -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)

0 comments on commit f943e2e

Please sign in to comment.
Something went wrong with that request. Please try again.