chore: Add compound index to user class (#31649)

This commit is contained in:
Anagh Hegde 2024-03-11 18:47:05 +05:30 committed by GitHub
parent 85269c432c
commit c4e73c475a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -0,0 +1,45 @@
package com.appsmith.server.migrations.db.ce;
import com.appsmith.server.domains.User;
import io.mongock.api.annotations.ChangeUnit;
import io.mongock.api.annotations.Execution;
import io.mongock.api.annotations.RollbackExecution;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.index.CompoundIndexDefinition;
import org.springframework.data.mongodb.core.index.Index;
import static com.appsmith.server.migrations.DatabaseChangelog1.dropIndexIfExists;
import static com.appsmith.server.migrations.DatabaseChangelog1.ensureIndexes;
@Slf4j
@ChangeUnit(order = "048", id = "add-compound-index-in-user-collection", author = " ")
public class Migration048AddCompoundIndexToUserEntity {
private final MongoTemplate mongoTemplate;
public Migration048AddCompoundIndexToUserEntity(MongoTemplate mongoTemplate) {
this.mongoTemplate = mongoTemplate;
}
@RollbackExecution
public void rollbackExecution() {}
@Execution
public void addMissingIndexInUserCollection() {
// Prod index name
dropIndexIfExists(mongoTemplate, User.class, "deleted_1_deletedAt_1_email_1_createdAt_-1");
dropIndexIfExists(mongoTemplate, User.class, "user_deleted_deletedAt_email_createdAt_compound_index");
org.bson.Document doc = new org.bson.Document();
doc.put("deleted", 1);
doc.put("deletedAt", 1);
doc.put("email", 1);
doc.put("createdAt", -1);
Index userCompoundIndex =
new CompoundIndexDefinition(doc).named("user_deleted_deletedAt_email_createdAt_compound_index");
ensureIndexes(mongoTemplate, User.class, userCompoundIndex);
}
}