diff --git a/server-rs/crates/spacetime-module/src/migration.rs b/server-rs/crates/spacetime-module/src/migration.rs index e467903cb..3cd2f1cc6 100644 --- a/server-rs/crates/spacetime-module/src/migration.rs +++ b/server-rs/crates/spacetime-module/src/migration.rs @@ -2419,9 +2419,10 @@ fn authorize_database_migration_operator_tx( note: String, ) -> Result<(), String> { let has_operator = ctx.db.database_migration_operator().iter().next().is_some(); - if has_operator { + let has_valid_bootstrap_secret = require_migration_bootstrap_secret(bootstrap_secret).is_ok(); + if has_operator && !has_valid_bootstrap_secret { require_migration_operator(ctx, caller)?; - } else { + } else if !has_operator { require_migration_bootstrap_secret(bootstrap_secret)?; }