12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package migrator
- import "database/sql"
- // Index implements gorm.Index interface
- type Index struct {
- TableName string
- NameValue string
- ColumnList []string
- PrimaryKeyValue sql.NullBool
- UniqueValue sql.NullBool
- OptionValue string
- }
- // Table return the table name of the index.
- func (idx Index) Table() string {
- return idx.TableName
- }
- // Name return the name of the index.
- func (idx Index) Name() string {
- return idx.NameValue
- }
- // Columns return the columns of the index
- func (idx Index) Columns() []string {
- return idx.ColumnList
- }
- // PrimaryKey returns the index is primary key or not.
- func (idx Index) PrimaryKey() (isPrimaryKey bool, ok bool) {
- return idx.PrimaryKeyValue.Bool, idx.PrimaryKeyValue.Valid
- }
- // Unique returns whether the index is unique or not.
- func (idx Index) Unique() (unique bool, ok bool) {
- return idx.UniqueValue.Bool, idx.UniqueValue.Valid
- }
- // Option return the optional attribute of the index
- func (idx Index) Option() string {
- return idx.OptionValue
- }
|