fix migration: set userGroup before migration and remove "RemoveGeneralBunchObjects"

This commit is contained in:
Anton Suhorukov 2023-01-09 17:45:11 +03:00
parent f7bcbf54e0
commit aac2a388e2
2 changed files with 21 additions and 17 deletions

View File

@ -162,11 +162,6 @@ public class MigrationCreator
ChangeAlias(data);
ChangeName(data);
}
if (data.TableName == "files_bunch_objects")
{
RemoveGeneralBunchObjects(data);
}
using (var file = _tempStream.Create())
{
@ -206,18 +201,6 @@ public class MigrationCreator
}
var q = data.Rows[0];
data.Rows[0]["alias"] = newAlias;
}
private void RemoveGeneralBunchObjects(DataTable data)
{
for(var i = 0; i < data.Rows.Count; i++)
{
if (data.Rows[i]["right_node"].ToString().EndsWith('/'))
{
data.Rows.RemoveAt(i);
i--;
}
}
}
private List<string> GetAliases()

View File

@ -81,6 +81,7 @@ public class MigrationRunner
await DoRestoreStorage(dataReader, columnMapper);
SetAdmin(columnMapper.GetTenantMapping());
SetTenantActive(columnMapper.GetTenantMapping());
}
}
@ -145,5 +146,25 @@ public class MigrationRunner
tenant.StatusChanged = DateTime.UtcNow;
dbContext.Tenants.Update(tenant);
dbContext.SaveChanges();
}
private void SetAdmin(int tenantId)
{
using var dbContextTenant = _dbFactory.CreateDbContext<TenantDbContext>(_region);
var tenant = dbContextTenant.Tenants.Single(t => t.Id == tenantId);
var userGroup = new UserGroup()
{
Tenant = tenantId,
LastModified = DateTime.UtcNow,
RefType = Core.UserGroupRefType.Contains,
Removed = false,
UserGroupId = ASC.Common.Security.Authorizing.Constants.DocSpaceAdmin.ID,
Userid = tenant.OwnerId.Value
};
using var dbContextUser = _dbFactory.CreateDbContext<UserDbContext>(_region);
dbContextUser.UserGroups.Update(userGroup);
dbContextUser.SaveChanges();
}
}