44 lines
		
	
	
		
			1023 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1023 B
		
	
	
	
		
			Go
		
	
	
	
	
	
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
 | 
						|
}
 |