diff --git a/pkg/extension/extension.go b/pkg/extension/extension.go
index fb8044c7a2f4c76b775840c5628319196a0493ae..5e31c7005ac44d47f2fb94f8c8a5037e8d2425d5 100644
--- a/pkg/extension/extension.go
+++ b/pkg/extension/extension.go
@@ -4,9 +4,11 @@ import (
 	"context"
 	"fmt"
 
+	"git.perx.ru/perxis/perxis-go/pkg/collections"
 	"git.perx.ru/perxis/perxis-go/pkg/content"
 	"git.perx.ru/perxis/perxis-go/pkg/errors"
 	"git.perx.ru/perxis/perxis-go/pkg/items"
+	"git.perx.ru/perxis/perxis-go/pkg/setup"
 	pb "git.perx.ru/perxis/perxis-go/proto/extensions"
 )
 
@@ -105,3 +107,19 @@ func ExtensionFromError(err error) string {
 	ext, _ := v.(string)
 	return ext
 }
+
+func UpdateCollectionSchemaMetadata() setup.CollectionsOption {
+	return func(c *setup.CollectionConfig) {
+		c.UpdateFn = func(s *setup.Setup, exist, new *collections.Collection) (coll *collections.Collection, upd bool, setSchema bool, err error) {
+			if !new.IsView() && !exist.IsView() {
+				if new.Schema.Metadata != nil && exist.Schema.Metadata == nil && !s.IsForce() {
+					return nil, false, false, collections.ErrAlreadyExists
+				}
+				if new.Schema.Metadata != nil && exist.Schema.Metadata != nil {
+					return new, true, true, nil
+				}
+			}
+			return new, true, true, nil
+		}
+	}
+}
diff --git a/pkg/setup/collection.go b/pkg/setup/collection.go
index 4dca0192d86957c976e5a2d9201234a79673aa40..f80e0827ce150095a0e075248590bd05c2ec0cf4 100644
--- a/pkg/setup/collection.go
+++ b/pkg/setup/collection.go
@@ -80,22 +80,6 @@ func UpdateExistingCollection() CollectionsOption {
 	}
 }
 
-func UpdateCollectionSchemaMetadata() CollectionsOption {
-	return func(c *CollectionConfig) {
-		c.UpdateFn = func(s *Setup, exist, new *collections.Collection) (coll *collections.Collection, upd bool, setSchema bool, err error) {
-			if !new.IsView() && !exist.IsView() {
-				if new.Schema.Metadata != nil && exist.Schema.Metadata == nil && !s.IsForce() {
-					return nil, false, false, collections.ErrAlreadyExists
-				}
-				if new.Schema.Metadata != nil && exist.Schema.Metadata != nil {
-					return new, true, true, nil
-				}
-			}
-			return new, true, true, nil
-		}
-	}
-}
-
 func (s *Setup) InstallCollections(ctx context.Context) (err error) {
 	if len(s.Collections) == 0 {
 		return nil