Ok we've solved it. The dataseed was running again. You can probably deleted this
URGENT.
After migrating production to use openiddict instead of identity server, the config keeps periodically reverting (in the database) to default configs (localhost values). It was fine after the initial deployment, but this has happened twice in a few hours.
What can be causing the config values in the database to be resetting to defaults?
We tried rolling back but that failed also so we're stuch with an app breaking peroidically!
Sorry I didn't explain the issue very well. I've managed to figure out what was happening. Basicially we had two separate databases Shout (top layer) and Survey (module). Sqlite was destroying /overwriting the module later in this use case.
Can you please confirm that this is the correct way to resolve the issue? If it is then it should probably be documented in your Integration Test setup section.
#ShoutEntityFrameworkCoreTestModule.cs
namespace Shout.EntityFrameworkCore;
[DependsOn(
typeof(ShoutEntityFrameworkCoreDbMigrationsModule),
typeof(ShoutTestBaseModule),
typeof(AbpEntityFrameworkCoreSqliteModule)
)]
public class ShoutEntityFrameworkCoreTestModule : AbpModule
{
private SqliteConnection _sqliteConnection;
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddAlwaysDisableUnitOfWorkTransaction();
ConfigureInMemorySqlite(context.Services);
}
private void ConfigureInMemorySqlite(IServiceCollection services)
{
_sqliteConnection = CreateDatabaseAndGetConnection();
services.Configure<AbpDbContextOptions>(options =>
{
options.Configure(context =>
{
context.DbContextOptions.UseSqlite(_sqliteConnection);
});
});
}
public override void OnApplicationShutdown(ApplicationShutdownContext context)
{
_sqliteConnection.Dispose();
}
private static SqliteConnection CreateDatabaseAndGetConnection()
{
var connection = new SqliteConnection("Data Source=:memory:");
connection.Open();
// Configure logging for SurveyDbContext
var surveyDbOptions = new DbContextOptionsBuilder<SurveyDbContext>()
.UseSqlite(connection)
.EnableSensitiveDataLogging() // Include parameter values in logs
.LogTo(Console.WriteLine, LogLevel.Information) // Log SQL queries to console
.Options;
// Configure logging for ShoutMigrationsDbContext
var shoutMigrationsDbOptions = new DbContextOptionsBuilder<ShoutMigrationsDbContext>()
.UseSqlite(connection)
.EnableSensitiveDataLogging()
.LogTo(Console.WriteLine, LogLevel.Information)
.Options;
// Create tables with logging enabled
new SurveyDbContext(surveyDbOptions).GetService<IRelationalDatabaseCreator>().CreateTables();
new ShoutMigrationsDbContext(shoutMigrationsDbOptions).GetService<IRelationalDatabaseCreator>().CreateTables();
return connection;
}
}
We have a project with a parent later and multiple sub-modules.
The tests in the sub-modules run just OK using the supplied sqlite seeder.
When I try to run the tests in the parent application layer I'm getting issues though as the underlying database schema has not been created.
To fix this I added a DependsOn --- typeof(MySubModuleTestBaseModule) and referenced the sub-test project. Unfortunatle whilst the sub-module seeder runs it errors due to the tables not exsiting despote being entities.
Please explain how theses tests are supposed to be linked up and how I correct this.
There is no documentation on this at all, only for the tests in a module.
[22:11:43 ERR] ABP-LIC-0013 - License exception: ABP-LIC-0023: An error occured while calling the license server! The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.
I installed the new ABP cli beta onto a fresh computer. Logged in ok but then when building I got an error about the license.
I've now uninstalled the beta, and installed the old 8.2.0 version but I still cannot run the projects correctly without that message above appearing many times during the run.
I have tried abp logout, I've reinstalled, logged in using password and again using the device method. I have cleaned and rebuilt the project. always the same message.
I also tried deleting the .abp folder manually and reinstalling. didn't help. abp login-info shows I am logged in correctly.
Also I've tried logging out and back in again. no different.
I've tried uninstalling and reinstalling version 7.2. no different.
I've installed the abp suite, when I run it I also get the license error, however in the top right licence menu I get this.
How about integrating an adapter for integration services like Zappier, automate, pabbly connect?
Your feature request thread was auto closed btw.
We love the framework but support and bug reporting is not handled well. My developer has mostly given up reporting issues as he says it's not worth it as responses tend to be one line, minimum effort answers. Complex issues often just get auto-closed without resolution.
I don't mind the one line answers but they should not be considered a paid response to an issue when we only get to report 15 a year. Basic forum responses should not be included in any limit.
I would suggest you take a look at how service stack (https://forums.servicestack.net/) handle this for a fraction of the price. With a unlimited support forum for paid users with a smaller number of private escalated incidents.
There is very little in the commercial package we use as we have our own UI framework, we're basically just paying for the support forum.
The point is that this is the wrong way around, and I'm guessing by mistake, not by design.
Specific items would always override group permissions. To use a file system as an example, a file permission would override the inherited folder permission. With ABP you have it the other way around which has no use case that I can see.
It should be:
Tenant default permissions are inherited from Edition, but permissions set on the tenant are not overwritten by Edition.
Example. If a feature is causing an issue for a specific customer, we would disable it on their tenant, not the entire edition.