app/django/core/management/commands/dbshell.py
author Sverre Rabbelier <srabbelier@gmail.com>
Sun, 01 Mar 2009 20:39:21 +0000
changeset 1585 06fb5950cb03
parent 323 ff1a9aa48cfd
permissions -rw-r--r--
Make it possible to put the site in maintenance mode By specifying the UTC date from which the maintenance shoulds start, developers can put the site in 'maintenance' mode. Also redirect to /maintenance if we get a CapabilityDisabledError. Patch by: Sverre Rabbelier

from django.core.management.base import NoArgsCommand, CommandError

class Command(NoArgsCommand):
    help = "Runs the command-line client for the current DATABASE_ENGINE."

    requires_model_validation = False

    def handle_noargs(self, **options):
        from django.db import connection
        try:
            connection.client.runshell()
        except OSError:
            # Note that we're assuming OSError means that the client program
            # isn't installed. There's a possibility OSError would be raised
            # for some other reason, in which case this error message would be
            # inaccurate. Still, this message catches the common case.
            raise CommandError('You appear not to have the %r program installed or on your path.' % \
                connection.client.executable_name)