diff --git a/pkg/content/content.go b/pkg/content/content.go
index 29abfb45e47b9551333a928caba541ee57bd7d6c..1d351e9308da0ea2c81f8afa80fb2be219c633ea 100644
--- a/pkg/content/content.go
+++ b/pkg/content/content.go
@@ -39,7 +39,7 @@ type Content struct {
 }
 
 const (
-	DBVersion uint32 = 3
+	DBVersion uint32 = 2
 )
 
 func (c *Content) RegisterStart(svc interface{}) {
diff --git a/pkg/setup/collection.go b/pkg/setup/collection.go
index bd8bea920a79af293e8403b03ca1cba5fa27d2a5..a2922a0d44a2232dafe5a07f74662873d2ff4c98 100644
--- a/pkg/setup/collection.go
+++ b/pkg/setup/collection.go
@@ -138,22 +138,22 @@ func (s *Setup) InstallCollection(ctx context.Context, c CollectionConfig) (setS
 		return false, err
 	}
 
+	if c.metadata != nil {
+		collection.Schema.WithMetadata(c.metadata...)
+	}
+
 	if exist == nil {
 		setSchema = !collection.IsView()
-		exist, err = s.content.Collections.Create(ctx, collection)
+		_, err = s.content.Collections.Create(ctx, collection)
 		if err != nil {
 			return false, err
 		}
 	} else {
-		var upd bool
-		if c.metadata != nil {
-			collection.Schema.WithMetadata(c.metadata...)
-			err = s.checkSchemaMetadata(collection, exist)
-			if err != nil {
-				return false, err
-			}
+		if collection.Schema.Metadata != nil && exist.Schema.Metadata["extension"] != collection.Schema.Metadata["extension"] && !s.IsForce() {
+			return false, errors.Wrap(errors.Errorf("collection %s has the same id(%s) as extension's collection %s", exist.Name, exist.ID, collection.Name), "fail to update collection")
 		}
 
+		var upd bool
 		collection, upd, setSchema = c.UpdateFn(s, exist, c.collection)
 		if upd {
 			if err = s.content.Collections.Update(ctx, collection); err != nil {
@@ -172,16 +172,6 @@ func (s *Setup) InstallCollection(ctx context.Context, c CollectionConfig) (setS
 	return setSchema, nil
 }
 
-// checkSchemaMetadata проверяет изменилось ли значение Metadata в схеме коллекции
-func (s *Setup) checkSchemaMetadata(collection *collections.Collection, exist *collections.Collection) error {
-	if collection.Schema.Metadata != nil {
-		if exist.Schema.Metadata["extension"] != collection.Schema.Metadata["extension"] && !s.IsForce() {
-			return errors.WithHint(errors.New("fail to update collection"), "collection has the same id as extension's collection, change yours collection id")
-		}
-	}
-	return nil
-}
-
 func (s *Setup) CheckCollections(ctx context.Context) error {
 	if len(s.Collections) == 0 {
 		return nil