func (ix *Indexes) AddUnique(columns ...string) {
	name := strings.Join(columns, "_")
	*ix = append(*ix, &index{name: name, columns: columns, unique: true})
}
AddUnique adds an unique index
package qbs
import (
	"bytes"
	"database/sql"
	"reflect"
	"strconv"
	"strings"
	"time"
)
type TableNamer interface {
	TableName() string
}
const QBS_COLTYPE_INT = "int"
const QBS_COLTYPE_BOOL = "boolean"
const QBS_COLTYPE_BIGINT = "bigint"
const QBS_COLTYPE_DOUBLE = "double"
const QBS_COLTYPE_TIME = "timestamp"
const QBS_COLTYPE_TEXT = "text"
var FieldNameToColumnName func(string) string = toSnake
var StructNameToTableName func(string) string = toSnake
var ColumnNameToFieldName func(string) string = snakeToUpperCamel
var TableNameToStructName func(string) string = snakeToUpperCamel
type index struct {
	name    string
	columns []string
	unique  bool
}
type Indexes []*index
type Indexed interface {
	Indexes(indexes *Indexes)
}
func (ix *Indexes) Add(columns ...string) {
	name := strings.Join(columns, "_")
	*ix = append(*ix, &index{name: name, columns: columns, unique: false})
}