Yes, that is the one I was thinking of, I registered but could not attend at the time. Was it recorded, is there a way to watch it?
Is there any guidance on scaling ABP? I remember a video from a conference a while back.
Do you have any links, documents, or videos?
Volo.Saas
By default you add all this into the XXXDbMigrationService.cs in the domain project. Is there a way to remove it
` public async Task MigrateAsync() { var initialMigrationAdded = AddInitialMigrationIfNotExist();
if (initialMigrationAdded)
{
return;
}
Logger.LogInformation("Started database migrations...");
await MigrateDatabaseSchemaAsync();
await SeedDataAsync();
Logger.LogInformation("Successfully completed host database migrations.");
var tenants = await _tenantRepository.GetListAsync(includeDetails: true);
var migratedDatabaseSchemas = new HashSet<string>();
foreach (var tenant in tenants)
{
using (_currentTenant.Change(tenant.Id))
{
if (tenant.ConnectionStrings.Any())
{
var tenantConnectionStrings = tenant.ConnectionStrings
.Select(x => x.Value)
.ToList();
if (!migratedDatabaseSchemas.IsSupersetOf(tenantConnectionStrings))
{
await MigrateDatabaseSchemaAsync(tenant);
migratedDatabaseSchemas.AddIfNotContains(tenantConnectionStrings);
}
}
await SeedDataAsync(tenant);
}
Logger.LogInformation($"Successfully completed {tenant.Name} tenant database migrations.");
}
Logger.LogInformation("Successfully completed all database migrations.");
Logger.LogInformation("You can safely end this process...");
}
private async Task MigrateDatabaseSchemaAsync(Tenant? tenant = null)
{
Logger.LogInformation(
$"Migrating schema for {(tenant == null ? "host" : tenant.Name + " tenant")} database...");
foreach (var migrator in _dbSchemaMigrators)
{
await migrator.MigrateAsync();
}
}
private async Task SeedDataAsync(Tenant? tenant = null)
{
Logger.LogInformation($"Executing {(tenant == null ? "host" : tenant.Name + " tenant")} database seed...");
await _dataSeeder.SeedAsync(new DataSeedContext(tenant?.Id)
.WithProperty(IdentityDataSeedContributor.AdminEmailPropertyName,
TTBConsts.AdminEmailDefaultValue)
.WithProperty(IdentityDataSeedContributor.AdminPasswordPropertyName,
TTBConsts.AdminPasswordDefaultValue)
);
}
`
How do you remove the SaaS module from the new abp suite or abp cli create commands.
We dont need the SaaS features, how do you remove it?
[14:36:55 INF] CORS policy execution successful.
[14:36:55 INF] Successfully validated the token.
[14:36:55 INF] Authorization was successful.
[14:36:55 INF] Executing endpoint '/signalr-hubs/chat'
[14:37:02 INF] Start processing HTTP request GET https://localhost:44321/api/abp/api-definition
[14:37:02 INF] Sending HTTP request GET https://localhost:44321/api/abp/api-definition
[14:37:02 INF] Received HTTP response headers after 38.2684ms - 200
[14:37:02 INF] End processing HTTP request after 44.7509ms - 200
[14:37:02 WRN] Could not find IdentityClientConfiguration for . Either define a configuration for or set a default configuration.
[14:37:02 INF] Start processing HTTP request GET https://localhost:44321/api/app/users?SkipCount=0&MaxResultCount=10&api-version=1.0
[14:37:02 INF] Sending HTTP request GET https://localhost:44321/api/app/users?SkipCount=0&MaxResultCount=10&api-version=1.0
[14:37:03 INF] Received HTTP response headers after 1243.9026ms - 401
[14:37:03 INF] End processing HTTP request after 1244.0301ms - 401
[14:37:04 ERR] Failed to invoke hub method 'SendMessage'.
Volo.Abp.Http.Client.AbpRemoteCallException: Authorization failed! Given policy has not granted.
at Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor`1.ThrowExceptionForResponseAsync(HttpResponseMessage response)
at Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor`1.MakeRequestAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor`1.MakeRequestAndGetResultAsync[T](IAbpMethodInvocation invocation)
at Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor`1.GetResultAsync(Task task, Type resultType)
at Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor`1.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
at MyProject.Web.ChatHub.SendMessage(Guid to, Guid messageId, String message) in C:\src\CZ\_prj\Abp\aspnet-core\MyProject.Web\ChatHub.cs:line 54
at Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher`1.ExecuteMethod(ObjectMethodExecutor methodExecutor, Hub hub, Object[] arguments)
at Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher`1.<>c__DisplayClass16_0.<<Invoke>g__ExecuteInvocation|0>d.MoveNext()
[DependsOn( typeof(AbpAutofacModule), typeof(MyProjectHttpApiClientModule), typeof(MyProjectApplicationContractsModule), typeof(AbpHttpClientIdentityModelModule), typeof(AbpFeatureManagementWebModule), typeof(AbpAspNetCoreSerilogModule), typeof(AbpAspNetCoreSignalRModule), typeof(AbpEventBusRabbitMqModule) )]
context.Services.AddHttpClientProxies( typeof(MyProjectApplicationContractsModule).Assembly );
Unable to find package Volo.Abp.*
Are there instructions on how to setup a build server in Azure DevOPs