public function deleteTable($table, $check_empty = false)
    {
        if (empty($table)) {
            throw new BadRequestException('Table name can not be empty.');
        }

        //  Does it exist
        if (!$this->doesTableExist($table)) {
            throw new NotFoundException("Table '$table' not found.");
        }

        if ($check_empty) {
            // todo exist query here
        }
        try {
            if ($resource = $this->parent->getTableSchema($table)) {
                $this->parent->getSchema()->dropTable($resource->quotedName);
                $this->tablesDropped($table);
            }
        } catch (\Exception $ex) {
            \Log::error('Exception dropping table: ' . $ex->getMessage());

            throw $ex;
        }

        //  Any changes here should refresh cached schema
        $this->refreshCachedTables();

        return ['name' => $table];
    }