func (session *Session) DropIndexes(bean interface{}) error {
	if session.isAutoClose {
		defer session.Close()
	}
	return session.dropIndexes(bean)
}
DropIndexes drop indexes
package xorm
import (
	"database/sql"
	"errors"
	"fmt"
	"reflect"
	"strings"
	"github.com/go-xorm/core"
)
func (session *Session) Ping() error {
	if session.isAutoClose {
		defer session.Close()
	}
	session.engine.logger.Infof("PING DATABASE %v", session.engine.DriverName())
	return session.DB().Ping()
}
func (session *Session) CreateTable(bean interface{}) error {
	if session.isAutoClose {
		defer session.Close()
	}
	return session.createTable(bean)
}
func (session *Session) createTable(bean interface{}) error {
	v := rValue(bean)
	if err := session.statement.setRefValue(v); err != nil {
		return err
	}
	sqlStr := session.statement.genCreateTableSQL()
	_, err := session.exec(sqlStr)
	return err
}
func (session *Session) CreateIndexes(bean interface{}) error {
	if session.isAutoClose {
		defer session.Close()
	}
	return session.createIndexes(bean)
}
func (session *Session) createIndexes(bean interface{}) error {
	v := rValue(bean)
	if err := session.statement.setRefValue(v); err != nil {
		return err
	}
	sqls := session.statement.genIndexSQL()
	for _, sqlStr := range sqls {
		_, err := session.exec(sqlStr)
		if err != nil {
			return err
		}
	}
	return nil
}
func (session *Session) CreateUniques(bean interface{}) error {
	if session.isAutoClose {
		defer session.Close()
	}
	return session.createUniques(bean)
}
func (session *Session) createUniques(bean interface{}) error {
	v := rValue(bean)
	if err := session.statement.setRefValue(v); err != nil {
		return err
	}
	sqls := session.statement.genUniqueSQL()
	for _, sqlStr := range sqls {
		_, err := session.exec(sqlStr)
		if err != nil {
			return err
		}
	}
	return nil
}