<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def handle(self, *args, **options):
 """ Handle liquibase command parameters """

        database = getattr(
                settings, 'LIQUIMIGRATE_DATABASE', options['database'])

        try:
            dbsettings = databases[database]
        except KeyError:
            raise CommandError("don't know such a connection: %s" % database)

        verbosity = int(options.get('verbosity'))

        # get driver
        driver_class = (
                options.get('driver')
                or dbsettings.get('ENGINE').split('.')[-1])
        dbtag, driver, classpath = LIQUIBASE_DRIVERS.get(
                            driver_class, (None, None, None))

        classpath = options.get('classpath') or classpath

        if driver is None:
            raise CommandError(
                "unsupported db driver '%s'\n"
                "available drivers: %s" % (
                    driver_class, ' '.join(LIQUIBASE_DRIVERS.keys())))

        # command options
        changelog_file = (
                options.get('changelog_file')
                or _get_changelog_file(options['database']))
        username = options.get('username') or dbsettings.get('USER') or ''
        password = options.get('password') or dbsettings.get('PASSWORD') or ''
        url = options.get('url') or _get_url_for_db(dbtag, dbsettings)

        command = options['command']
        cmdargs = {
            'jar': LIQUIBASE_JAR,
            'changelog_file': changelog_file,
            'username': username,
            'password': password,
            'command': command,
            'driver': driver,
            'classpath': classpath,
            'url': url,
            'args': ' '.join(args),
        }

        cmdline = "java -jar %(jar)s --changeLogFile %(changelog_file)s \
--username=%(username)s --password=%(password)s \
--driver=%(driver)s --classpath=%(classpath)s --url=%(url)s \
%(command)s %(args)s" % (cmdargs)

        if verbosity > 0:
            print("changelog file: %s" % (changelog_file,))
            print("executing: %s" % (cmdline,))

        created_models = None   # we dont know it

        if emit_pre_migrate_signal and not options.get('no_signals'):
            if django_19_or_newer:
                emit_pre_migrate_signal(
                        1, options.get('interactive'), database)
            else:
                emit_pre_migrate_signal(
                    created_models, 1, options.get('interactive'), database)

        rc = os.system(cmdline)

        if rc == 0:

            try:
                if not options.get('no_signals'):
                    if emit_post_migrate_signal:
                        if django_19_or_newer:
                            emit_post_migrate_signal(
                                0, options.get('interactive'), database)
                        else:
                            emit_post_migrate_signal(
                                created_models, 0,
                                options.get('interactive'), database)
                    elif emit_post_sync_signal:
                        emit_post_sync_signal(
                                created_models, 0,
                                options.get('interactive'), database)

                if not django_19_or_newer:
                    call_command(
                        'loaddata', 'initial_data', verbosity=1,
                        database=database)
            except TypeError:
                # singledb (1.1 and older)
                emit_post_sync_signal(
                        created_models, 0, options.get('interactive'))

                call_command(
                        'loaddata', 'initial_data', verbosity=0)
        else:
            raise CommandError('Liquibase returned an error code %s' % rc)