Seperate target name and project into their own keys for target index
This commit is contained in:
parent
49cf6b8c29
commit
f5fa1f330a
@ -1,8 +1,6 @@
|
||||
package state
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"github.com/boltdb/bolt"
|
||||
"github.com/golang/protobuf/proto"
|
||||
"github.com/hashicorp/go-memdb"
|
||||
@ -270,7 +268,7 @@ func targetIndexSchema() *memdb.TableSchema {
|
||||
targetIndexNameIndexName: {
|
||||
Name: targetIndexNameIndexName,
|
||||
AllowMissing: false,
|
||||
Unique: true,
|
||||
Unique: false,
|
||||
Indexer: &memdb.StringFieldIndex{
|
||||
Field: "Name",
|
||||
Lowercase: true,
|
||||
@ -288,21 +286,32 @@ const (
|
||||
|
||||
type targetIndexRecord struct {
|
||||
Id string // Resource ID
|
||||
Name string // Project Resource ID + Target Name
|
||||
Name string // Target Name
|
||||
ProjectId string // Project Resource ID
|
||||
}
|
||||
|
||||
func (s *State) newTargetIndexRecord(m *vagrant_server.Target) *targetIndexRecord {
|
||||
var projectResourceId string
|
||||
if m.Project != nil {
|
||||
projectResourceId = m.Project.ResourceId
|
||||
}
|
||||
i := &targetIndexRecord{
|
||||
Id: m.ResourceId,
|
||||
Name: strings.ToLower(m.Project.ResourceId + "+" + m.Name),
|
||||
Name: m.Name,
|
||||
ProjectId: projectResourceId,
|
||||
}
|
||||
return i
|
||||
}
|
||||
|
||||
func (s *State) newTargetIndexRecordByRef(ref *vagrant_plugin_sdk.Ref_Target) *targetIndexRecord {
|
||||
var projectResourceId string
|
||||
if ref.Project != nil {
|
||||
projectResourceId = ref.Project.ResourceId
|
||||
}
|
||||
return &targetIndexRecord{
|
||||
Id: ref.ResourceId,
|
||||
Name: strings.ToLower(ref.Project.ResourceId + "+" + ref.Name),
|
||||
Name: ref.Name,
|
||||
ProjectId: projectResourceId,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user