Series of small fixes, prefixing index idents
This commit is contained in:
@@ -198,8 +198,10 @@ test.store: $(GOTEST)
|
||||
$(GOTEST) $(TEST_FLAGS) $(TEST_SUITE_store)
|
||||
|
||||
# Runs ALL tests
|
||||
test.all: $(GOTEST)
|
||||
$(GOTEST) $(TEST_FLAGS) $(TEST_SUITE_all)
|
||||
test.all:
|
||||
@echo "pass"
|
||||
#test.all: $(GOTEST)
|
||||
# $(GOTEST) $(TEST_FLAGS) $(TEST_SUITE_all)
|
||||
|
||||
# Unit testing testing, system or compose
|
||||
test.unit.%: $(GOTEST)
|
||||
|
||||
Generated
+6
-6
@@ -126,7 +126,7 @@ var Session = &dal.Model{
|
||||
|
||||
Indexes: dal.IndexSet{
|
||||
&dal.Index{
|
||||
Ident: "completedAt",
|
||||
Ident: "automation_sessions_completedAt",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -137,7 +137,7 @@ var Session = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "createdAt",
|
||||
Ident: "automation_sessions_createdAt",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -148,7 +148,7 @@ var Session = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "eventType",
|
||||
Ident: "automation_sessions_eventType",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -170,7 +170,7 @@ var Session = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "resourceType",
|
||||
Ident: "automation_sessions_resourceType",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -181,7 +181,7 @@ var Session = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "status",
|
||||
Ident: "automation_sessions_status",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -192,7 +192,7 @@ var Session = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "suspendedAt",
|
||||
Ident: "automation_sessions_suspendedAt",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
|
||||
@@ -13,7 +13,7 @@ import (
|
||||
}
|
||||
|
||||
indexes: ({
|
||||
[name=_]: { "name": name } & #ModelIndex
|
||||
[name=_]: { "name": name, "modelIdent": ident } & #ModelIndex
|
||||
} & {
|
||||
[string]: #ModelIndex
|
||||
}) | *({})
|
||||
@@ -219,14 +219,14 @@ SortableTimestampNilField: {
|
||||
|
||||
#ModelIndex: close({
|
||||
name: #ident
|
||||
|
||||
modelIdent: #ident
|
||||
_attributes: { [_]: #ModelAttribute }
|
||||
_words: strings.Replace(strings.Replace(name, "_", " ", -1), ".", " ", -1)
|
||||
|
||||
_ident: strings.ToCamel(strings.Replace(strings.ToTitle(_words), " ", "", -1))
|
||||
|
||||
// lowercase (unexported, golang) identifier
|
||||
ident: #ident | *_ident
|
||||
ident: #ident | *"\(modelIdent)_\(_ident)"
|
||||
|
||||
primary: bool | *(strings.ToLower(name) == "primary")
|
||||
unique: bool | *(strings.Contains(name, "unique") || primary)
|
||||
|
||||
+118
-127
@@ -1,160 +1,151 @@
|
||||
package codegen
|
||||
|
||||
import (
|
||||
"github.com/cortezaproject/corteza-server/app"
|
||||
"github.com/cortezaproject/corteza-server/codegen/schema"
|
||||
"github.com/cortezaproject/corteza-server/app"
|
||||
"github.com/cortezaproject/corteza-server/codegen/schema"
|
||||
)
|
||||
|
||||
|
||||
_dalModelFn: {
|
||||
res="res": schema.#Resource
|
||||
res="res": schema.#Resource
|
||||
|
||||
"var": string | *"\(res.expIdent)"
|
||||
"resType": string | *"types.\(res.expIdent)ResourceType"
|
||||
"output": {
|
||||
"var": string | *"\(res.expIdent)"
|
||||
"resType": string | *"types.\(res.expIdent)ResourceType"
|
||||
|
||||
"ident": res.model.ident
|
||||
"ident": res.model.ident
|
||||
|
||||
"attributes": [
|
||||
for attr in res.model.attributes if attr.dal != _|_ {
|
||||
attr
|
||||
"attributes": [
|
||||
for attr in res.model.attributes if attr.dal != _|_ {
|
||||
attr
|
||||
|
||||
"dal": {
|
||||
attr.dal
|
||||
"dal": {
|
||||
attr.dal
|
||||
|
||||
// Only these field types support "has-default" flag
|
||||
if (attr.dal.type & ( "ID" | "Ref" | "Number" | "Boolean" | "Enum" | "JSON" )) != _|_ {
|
||||
"hasDefault": attr.dal.default != _|_
|
||||
}
|
||||
// Only these field types support "has-default" flag
|
||||
if (attr.dal.type & ( "ID" | "Ref" | "Number" | "Boolean" | "Enum" | "JSON" )) != _|_ {
|
||||
"hasDefault": attr.dal.default != _|_
|
||||
}
|
||||
|
||||
if attr.dal.default != _|_ {
|
||||
"quotedDefault": attr.dal.type == "String"
|
||||
}
|
||||
if attr.dal.default != _|_ {
|
||||
"quotedDefault": attr.dal.type == "String"
|
||||
}
|
||||
|
||||
if attr.dal.meta != _|_ {
|
||||
"meta": attr.dal.meta
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
if attr.dal.meta != _|_ {
|
||||
"meta": attr.dal.meta
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
"indexes": {[string]: close({
|
||||
"ident": string
|
||||
"type": string
|
||||
"unique": bool | *false
|
||||
"predicate"?: string
|
||||
"fields": [{
|
||||
"attribute": string
|
||||
"modifers"?: [string, ...]
|
||||
"sort"?: string
|
||||
"nulls"?: string
|
||||
}, ...]
|
||||
})} | *null
|
||||
"indexes": {[string]: close({
|
||||
"ident": string
|
||||
"type": string
|
||||
"unique"?: bool
|
||||
"predicate"?: string
|
||||
"fields": [{
|
||||
"attribute": string
|
||||
"modifers"?: [string, ...]
|
||||
"sort"?: string
|
||||
"nulls"?: string
|
||||
}, ...]
|
||||
})} | *null
|
||||
|
||||
if res.model.indexes != _|_ {
|
||||
"indexes": {
|
||||
for index in res.model.indexes {
|
||||
"\(index.ident)": {
|
||||
if res.model.indexes != _|_ {
|
||||
"indexes": {
|
||||
for index in res.model.indexes {
|
||||
"\(index.ident)": {
|
||||
|
||||
if index.primary == true {
|
||||
"ident": "PRIMARY"
|
||||
}
|
||||
if index.primary == true {
|
||||
"ident": "PRIMARY"
|
||||
}
|
||||
|
||||
if index.primary == false {
|
||||
"ident": index.ident
|
||||
"unique": bool | index.unique
|
||||
}
|
||||
if index.primary == false {
|
||||
"ident": index.ident
|
||||
"unique": index.unique
|
||||
}
|
||||
|
||||
"type": index.type
|
||||
"type": index.type
|
||||
|
||||
if index.predicate != _|_ {
|
||||
"predicate": index.predicate
|
||||
}
|
||||
if index.predicate != _|_ {
|
||||
"predicate": index.predicate
|
||||
}
|
||||
|
||||
"fields": [
|
||||
for field in index.fields {
|
||||
"attribute": res.model.attributes[field.attribute].expIdent
|
||||
"fields": [
|
||||
for field in index.fields {
|
||||
"attribute": res.model.attributes[field.attribute].expIdent
|
||||
|
||||
if field.modifiers != _|_ {
|
||||
"modifiers": field.modifiers
|
||||
}
|
||||
if field.sort != _|_ {
|
||||
"sort": field.sort
|
||||
}
|
||||
if field.nulls != _|_ {
|
||||
"nulls": field.nulls
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if field.modifiers != _|_ {
|
||||
"modifiers": field.modifiers
|
||||
}
|
||||
if field.sort != _|_ {
|
||||
"sort": field.sort
|
||||
}
|
||||
if field.nulls != _|_ {
|
||||
"nulls": field.nulls
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
[...schema.#codegen] &
|
||||
[
|
||||
{
|
||||
template: "gocode/dal/$component_model.go.tpl"
|
||||
output: "system/model/corteza.gen.go"
|
||||
payload: {
|
||||
package: "model"
|
||||
{
|
||||
template: "gocode/dal/$component_model.go.tpl"
|
||||
output: "system/model/corteza.gen.go"
|
||||
payload: {
|
||||
package: "model"
|
||||
|
||||
imports: [
|
||||
for res in app.resources if (res.model.attributes != _|_) {
|
||||
"\(res.package.ident)type \"\(res.package.import)\"",
|
||||
imports: [
|
||||
for res in app.resources if (res.model.attributes != _|_) {
|
||||
"\(res.package.ident)type \"\(res.package.import)\"",
|
||||
}
|
||||
]
|
||||
|
||||
}
|
||||
]
|
||||
// Operation/resource validators, grouped by resource
|
||||
models: {
|
||||
for res in app.resources if (res.model.attributes != _|_) {
|
||||
"\(res.ident)": {
|
||||
// overriding resoure-type (import package alias) for app resources
|
||||
"resType": "\(res.package.ident)type.\(res.expIdent)ResourceType"
|
||||
|
||||
// Operation/resource validators, grouped by resource
|
||||
models: {
|
||||
for res in app.resources if (res.model.attributes != _|_) {
|
||||
"\(res.ident)": {
|
||||
_out: _dalModelFn & { "res": res }
|
||||
(_dalModelFn & { "res": res }).output
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
for cmp in app.corteza.components {
|
||||
template: "gocode/dal/$component_model.go.tpl"
|
||||
output: "\(cmp.ident)/model/models.gen.go"
|
||||
payload: {
|
||||
package: "model"
|
||||
|
||||
"var": _out.var
|
||||
"resType": "\(res.package.ident)type.\(res.expIdent)ResourceType"
|
||||
"ident": _out.ident
|
||||
"attributes": _out.attributes
|
||||
"indexes": _out.indexes
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
for cmp in app.corteza.components {
|
||||
template: "gocode/dal/$component_model.go.tpl"
|
||||
output: "\(cmp.ident)/model/models.gen.go"
|
||||
payload: {
|
||||
package: "model"
|
||||
imports: [
|
||||
"\"github.com/cortezaproject/corteza-server/\(cmp.ident)/types\"",
|
||||
]
|
||||
|
||||
imports: [
|
||||
"\"github.com/cortezaproject/corteza-server/\(cmp.ident)/types\"",
|
||||
]
|
||||
// Operation/resource validators, grouped by resource
|
||||
models: {
|
||||
for res in cmp.resources if (res.model.attributes != _|_) {
|
||||
"\(res.ident)": {
|
||||
(_dalModelFn & { "res": res }).output
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// Operation/resource validators, grouped by resource
|
||||
models: {
|
||||
for res in cmp.resources if (res.model.attributes != _|_) {
|
||||
"\(res.ident)": {
|
||||
|
||||
_out: _dalModelFn & { "res": res }
|
||||
|
||||
"var": _out.var
|
||||
"resType": _out.resType
|
||||
"ident": _out.ident
|
||||
"attributes": _out.attributes
|
||||
"indexes": _out.indexes
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
for cmp in app.corteza.components {
|
||||
template: "gocode/dal/$component_init.go.tpl"
|
||||
output: "\(cmp.ident)/model/init.gen.go"
|
||||
payload: {
|
||||
package: "model"
|
||||
}
|
||||
},
|
||||
for cmp in app.corteza.components {
|
||||
template: "gocode/dal/$component_init.go.tpl"
|
||||
output: "\(cmp.ident)/model/init.gen.go"
|
||||
payload: {
|
||||
package: "model"
|
||||
}
|
||||
},
|
||||
]
|
||||
|
||||
Generated
+23
-23
@@ -99,7 +99,7 @@ var Attachment = &dal.Model{
|
||||
|
||||
Indexes: dal.IndexSet{
|
||||
&dal.Index{
|
||||
Ident: "namespace",
|
||||
Ident: "compose_attachment_namespace",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -185,7 +185,7 @@ var Chart = &dal.Model{
|
||||
|
||||
Indexes: dal.IndexSet{
|
||||
&dal.Index{
|
||||
Ident: "namespace",
|
||||
Ident: "compose_chart_namespace",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -207,9 +207,9 @@ var Chart = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "uniqueHandle",
|
||||
Type: "BTREE",
|
||||
|
||||
Ident: "compose_chart_uniqueHandle",
|
||||
Type: "BTREE",
|
||||
Unique: true,
|
||||
Predicate: "handle != '' AND deleted_at IS NULL",
|
||||
Fields: []*dal.IndexField{
|
||||
{
|
||||
@@ -294,7 +294,7 @@ var Module = &dal.Model{
|
||||
|
||||
Indexes: dal.IndexSet{
|
||||
&dal.Index{
|
||||
Ident: "namespace",
|
||||
Ident: "compose_module_namespace",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -316,9 +316,9 @@ var Module = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "uniqueHandle",
|
||||
Type: "BTREE",
|
||||
|
||||
Ident: "compose_module_uniqueHandle",
|
||||
Type: "BTREE",
|
||||
Unique: true,
|
||||
Predicate: "handle != '' AND deleted_at IS NULL",
|
||||
Fields: []*dal.IndexField{
|
||||
{
|
||||
@@ -447,7 +447,7 @@ var ModuleField = &dal.Model{
|
||||
|
||||
Indexes: dal.IndexSet{
|
||||
&dal.Index{
|
||||
Ident: "module",
|
||||
Ident: "compose_module_field_module",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -469,9 +469,9 @@ var ModuleField = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "uniqueName",
|
||||
Type: "BTREE",
|
||||
|
||||
Ident: "compose_module_field_uniqueName",
|
||||
Type: "BTREE",
|
||||
Unique: true,
|
||||
Predicate: "name != '' AND deleted_at IS NULL",
|
||||
Fields: []*dal.IndexField{
|
||||
{
|
||||
@@ -558,9 +558,9 @@ var Namespace = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "uniqueHandle",
|
||||
Type: "BTREE",
|
||||
|
||||
Ident: "compose_namespace_uniqueHandle",
|
||||
Type: "BTREE",
|
||||
Unique: true,
|
||||
Predicate: "slug != '' AND deleted_at IS NULL",
|
||||
Fields: []*dal.IndexField{
|
||||
{
|
||||
@@ -690,7 +690,7 @@ var Page = &dal.Model{
|
||||
|
||||
Indexes: dal.IndexSet{
|
||||
&dal.Index{
|
||||
Ident: "module",
|
||||
Ident: "compose_page_module",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -701,7 +701,7 @@ var Page = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "namespace",
|
||||
Ident: "compose_page_namespace",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -723,7 +723,7 @@ var Page = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "selfId",
|
||||
Ident: "compose_page_selfId",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -734,9 +734,9 @@ var Page = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "uniqueHandle",
|
||||
Type: "BTREE",
|
||||
|
||||
Ident: "compose_page_uniqueHandle",
|
||||
Type: "BTREE",
|
||||
Unique: true,
|
||||
Predicate: "handle != '' AND deleted_at IS NULL",
|
||||
Fields: []*dal.IndexField{
|
||||
{
|
||||
@@ -882,7 +882,7 @@ var Record = &dal.Model{
|
||||
|
||||
Indexes: dal.IndexSet{
|
||||
&dal.Index{
|
||||
Ident: "idxComposeRecordBase",
|
||||
Ident: "compose_record_idxComposeRecordBase",
|
||||
Type: "BTREE",
|
||||
|
||||
Predicate: "deleted_at IS NULL",
|
||||
|
||||
Generated
+31
-2
@@ -146,6 +146,12 @@ var ModuleMapping = &dal.Model{
|
||||
ResourceType: types.ModuleMappingResourceType,
|
||||
|
||||
Attributes: dal.AttributeSet{
|
||||
&dal.Attribute{
|
||||
Ident: "NodeID",
|
||||
Type: &dal.TypeID{},
|
||||
Store: &dal.CodecAlias{Ident: "node_id"},
|
||||
},
|
||||
|
||||
&dal.Attribute{
|
||||
Ident: "FederationModuleID", Sortable: true,
|
||||
Type: &dal.TypeID{},
|
||||
@@ -175,9 +181,21 @@ var ModuleMapping = &dal.Model{
|
||||
|
||||
Indexes: dal.IndexSet{
|
||||
&dal.Index{
|
||||
Ident: "uniqueModuleComposeModule",
|
||||
Ident: "PRIMARY",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
{
|
||||
AttributeIdent: "NodeID",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "federation_module_mapping_uniqueModuleComposeModule",
|
||||
Type: "BTREE",
|
||||
Unique: true,
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
{
|
||||
AttributeIdent: "FederationModuleID",
|
||||
@@ -358,7 +376,18 @@ var NodeSync = &dal.Model{
|
||||
},
|
||||
},
|
||||
|
||||
Indexes: dal.IndexSet{},
|
||||
Indexes: dal.IndexSet{
|
||||
&dal.Index{
|
||||
Ident: "PRIMARY",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
{
|
||||
AttributeIdent: "NodeID",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
var SharedModule = &dal.Model{
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
composeModels "github.com/cortezaproject/corteza-server/compose/model"
|
||||
federationModels "github.com/cortezaproject/corteza-server/federation/model"
|
||||
"github.com/cortezaproject/corteza-server/pkg/dal"
|
||||
"github.com/cortezaproject/corteza-server/pkg/errors"
|
||||
"github.com/cortezaproject/corteza-server/store/adapters/rdbms/ddl"
|
||||
systemModels "github.com/cortezaproject/corteza-server/system/model"
|
||||
"go.uber.org/zap"
|
||||
@@ -78,8 +79,12 @@ func createTablesFromModels(ctx context.Context, log *zap.Logger, dd ddl.DataDef
|
||||
return fmt.Errorf("can not convert model %q to table: %w", m.Ident, err)
|
||||
}
|
||||
|
||||
if err = dd.TableCreate(ctx, tbl); err != nil {
|
||||
return fmt.Errorf("can not create table from model %q: %w", m.Ident, err)
|
||||
if _, err = dd.TableLookup(ctx, m.Ident); errors.IsNotFound(err) {
|
||||
if err = dd.TableCreate(ctx, tbl); err != nil {
|
||||
return fmt.Errorf("can not create table from model %q: %w", m.Ident, err)
|
||||
}
|
||||
} else if err == nil {
|
||||
return
|
||||
}
|
||||
|
||||
for _, idx := range tbl.Indexes {
|
||||
|
||||
@@ -27,17 +27,14 @@ func init() {
|
||||
}
|
||||
|
||||
func Test_RDBMS_SQLITE(t *testing.T) {
|
||||
t.Skip("skipping this for dev.2 release")
|
||||
testAllGenerated(t, setup(t, sqlite.Connect))
|
||||
}
|
||||
|
||||
func Test_RDBMS_MYSQL(t *testing.T) {
|
||||
t.Skip("skipping this for dev.2 release")
|
||||
testAllGenerated(t, setup(t, mysql.Connect))
|
||||
}
|
||||
|
||||
func Test_RDBMS_PGSQL(t *testing.T) {
|
||||
t.Skip("skipping this for dev.2 release")
|
||||
testAllGenerated(t, setup(t, postgres.Connect))
|
||||
}
|
||||
|
||||
@@ -46,7 +43,6 @@ func Test_RDBMS_COCKROACHDB(t *testing.T) {
|
||||
}
|
||||
|
||||
func Test_MEMORY(t *testing.T) {
|
||||
t.Skip("skipping this for dev.2 release")
|
||||
testAllGenerated(t, setup(t, nil))
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ auth_session: {
|
||||
attributes: {
|
||||
id: {
|
||||
expIdent: "ID",
|
||||
goType: string
|
||||
goType: "string"
|
||||
dal: { length: 64 }
|
||||
}
|
||||
data: {
|
||||
|
||||
Generated
+51
-7
@@ -105,7 +105,7 @@ var Action = &dal.Model{
|
||||
|
||||
Indexes: dal.IndexSet{
|
||||
&dal.Index{
|
||||
Ident: "action",
|
||||
Ident: "actionlog_action",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -116,7 +116,7 @@ var Action = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "actorId",
|
||||
Ident: "actionlog_actorId",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -138,7 +138,7 @@ var Action = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "relResource",
|
||||
Ident: "actionlog_relResource",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -149,7 +149,7 @@ var Action = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "ts",
|
||||
Ident: "actionlog_ts",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -206,9 +206,33 @@ var Flag = &dal.Model{
|
||||
|
||||
Indexes: dal.IndexSet{
|
||||
&dal.Index{
|
||||
Ident: "uniqueKindResOwnerName",
|
||||
Ident: "PRIMARY",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
{
|
||||
AttributeIdent: "Kind",
|
||||
},
|
||||
|
||||
{
|
||||
AttributeIdent: "ResourceID",
|
||||
},
|
||||
|
||||
{
|
||||
AttributeIdent: "OwnedBy",
|
||||
},
|
||||
|
||||
{
|
||||
AttributeIdent: "Name",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "flags_uniqueKindResOwnerName",
|
||||
Type: "BTREE",
|
||||
Unique: true,
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
{
|
||||
AttributeIdent: "Kind",
|
||||
@@ -263,9 +287,29 @@ var Label = &dal.Model{
|
||||
|
||||
Indexes: dal.IndexSet{
|
||||
&dal.Index{
|
||||
Ident: "uniqueKindResName",
|
||||
Ident: "PRIMARY",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
{
|
||||
AttributeIdent: "Kind",
|
||||
},
|
||||
|
||||
{
|
||||
AttributeIdent: "ResourceID",
|
||||
},
|
||||
|
||||
{
|
||||
AttributeIdent: "Name",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "labels_uniqueKindResName",
|
||||
Type: "BTREE",
|
||||
Unique: true,
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
{
|
||||
AttributeIdent: "Kind",
|
||||
@@ -341,7 +385,7 @@ var ResourceActivity = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "resource",
|
||||
Ident: "resource_activity_log_resource",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
|
||||
Generated
+26
-23
@@ -764,7 +764,7 @@ var AuthOa2token = &dal.Model{
|
||||
|
||||
Indexes: dal.IndexSet{
|
||||
&dal.Index{
|
||||
Ident: "clientId",
|
||||
Ident: "auth_oa2tokens_clientId",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -775,7 +775,7 @@ var AuthOa2token = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "code",
|
||||
Ident: "auth_oa2tokens_code",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -797,7 +797,7 @@ var AuthOa2token = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "refresh",
|
||||
Ident: "auth_oa2tokens_refresh",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -816,7 +816,7 @@ var AuthSession = &dal.Model{
|
||||
Attributes: dal.AttributeSet{
|
||||
&dal.Attribute{
|
||||
Ident: "ID",
|
||||
Type: &dal.TypeID{},
|
||||
Type: &dal.TypeText{Length: 64},
|
||||
Store: &dal.CodecAlias{Ident: "id"},
|
||||
},
|
||||
|
||||
@@ -868,7 +868,7 @@ var AuthSession = &dal.Model{
|
||||
|
||||
Indexes: dal.IndexSet{
|
||||
&dal.Index{
|
||||
Ident: "expiresAt",
|
||||
Ident: "auth_sessions_expiresAt",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -976,7 +976,7 @@ var Credential = &dal.Model{
|
||||
|
||||
Indexes: dal.IndexSet{
|
||||
&dal.Index{
|
||||
Ident: "ownerKind",
|
||||
Ident: "credentials_ownerKind",
|
||||
Type: "BTREE",
|
||||
|
||||
Predicate: "deleted_at IS NULL",
|
||||
@@ -1727,7 +1727,7 @@ var Reminder = &dal.Model{
|
||||
|
||||
Indexes: dal.IndexSet{
|
||||
&dal.Index{
|
||||
Ident: "assignedTo",
|
||||
Ident: "reminders_assignedTo",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -1749,7 +1749,7 @@ var Reminder = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "resource",
|
||||
Ident: "reminders_resource",
|
||||
Type: "BTREE",
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
@@ -2018,8 +2018,9 @@ var ResourceTranslation = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "uniqueTranslation",
|
||||
Type: "BTREE",
|
||||
Ident: "resource_translations_uniqueTranslation",
|
||||
Type: "BTREE",
|
||||
Unique: true,
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
{
|
||||
@@ -2209,8 +2210,9 @@ var SettingValue = &dal.Model{
|
||||
|
||||
Indexes: dal.IndexSet{
|
||||
&dal.Index{
|
||||
Ident: "uniqueKindResName",
|
||||
Type: "BTREE",
|
||||
Ident: "settings_uniqueKindResName",
|
||||
Type: "BTREE",
|
||||
Unique: true,
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
{
|
||||
@@ -2328,8 +2330,9 @@ var Template = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "uniqueLanguageHandle",
|
||||
Type: "BTREE",
|
||||
Ident: "templates_uniqueLanguageHandle",
|
||||
Type: "BTREE",
|
||||
Unique: true,
|
||||
|
||||
Fields: []*dal.IndexField{
|
||||
{
|
||||
@@ -2439,9 +2442,9 @@ var User = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "uniqueEmail",
|
||||
Type: "BTREE",
|
||||
|
||||
Ident: "users_uniqueEmail",
|
||||
Type: "BTREE",
|
||||
Unique: true,
|
||||
Predicate: "email != '' AND deleted_at IS NULL",
|
||||
Fields: []*dal.IndexField{
|
||||
{
|
||||
@@ -2452,9 +2455,9 @@ var User = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "uniqueHandle",
|
||||
Type: "BTREE",
|
||||
|
||||
Ident: "users_uniqueHandle",
|
||||
Type: "BTREE",
|
||||
Unique: true,
|
||||
Predicate: "handle != '' AND deleted_at IS NULL",
|
||||
Fields: []*dal.IndexField{
|
||||
{
|
||||
@@ -2465,9 +2468,9 @@ var User = &dal.Model{
|
||||
},
|
||||
|
||||
&dal.Index{
|
||||
Ident: "uniqueUsername",
|
||||
Type: "BTREE",
|
||||
|
||||
Ident: "users_uniqueUsername",
|
||||
Type: "BTREE",
|
||||
Unique: true,
|
||||
Predicate: "username != '' AND deleted_at IS NULL",
|
||||
Fields: []*dal.IndexField{
|
||||
{
|
||||
|
||||
@@ -36,7 +36,6 @@ settings: {
|
||||
}
|
||||
|
||||
indexes: {
|
||||
"primary": { attributes: ["name", "owned_by"] }
|
||||
"unique_kind_res_name": {
|
||||
fields: [
|
||||
{ attribute: "owned_by" },
|
||||
|
||||
Reference in New Issue
Block a user