SQLite Error 1: 'table "SaasEditions" already exists'.
at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
at Microsoft.Data.Sqlite.SqliteCommand.<PrepareAndEnumerateStatements>d__64.MoveNext()
at Microsoft.Data.Sqlite.SqliteCommand.<GetStatements>d__54.MoveNext()
at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader()
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery()
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject)
at Microsoft.EntityFrameworkCore.Migrations.MigrationCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary`2 parameterValues)
at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.ExecuteNonQuery(IEnumerable`1 migrationCommands, IRelationalConnection connection)
at Microsoft.EntityFrameworkCore.Storage.RelationalDatabaseCreator.CreateTables()
at MyCompany.ABC.EntityFrameworkCore.ABCEntityFrameworkCoreTestModule.CreateDatabaseAndGetConnection() in
I have two Dbcontext and run without error. But I cannot run test. and I got error : Microsoft.Data.Sqlite.SqliteException: 'SQLite Error 1: 'table "SaasEditions" already exists
public class MyFirsDbContext : AbpDbContext<MyFirsDbContext>,IHasEventInbox, IHasEventOutbox, IServicePriceDbContext
//IIdentityProDbContext,
//ISaasDbContext
{
}
[ReplaceDbContext(typeof(IIdentityProDbContext))]
[ReplaceDbContext(typeof(ISaasDbContext))]
[ConnectionStringName("Second")]
public class MySecondDbContext :AbpDbContext<MySecondDbContext>, IIdentityProDbContext, ISaasDbContext
{
...
// SaaS
public DbSet<Tenant> Tenants { get; set; }
public DbSet<Edition> Editions { get; set; }
...
}
According to this link I try to add following lines in ConfigureServices
method.
public class MyClientAppModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
// Prepare for static client proxy generation
context.Services.AddStaticHttpClientProxies(
typeof(MyClientAppModule).Assembly
);
}
}
and add Project References MyApplicationService project into MyApplication.Http.Client projects
But I got compile error: Error NU1201 Project XXX.Application is not compatible with netstandard2.0 (.NETStandard,Version=v2.0). Project
.Application TargetFramework : .net6.0 .Client TargetFramework : netstandard2.0
I wrote Http Patch method in an application service.To make run patch method regarding to this url I added below codes to Program.cs:
try
{
Log.Information("Starting Sample.V6.HttpApi.Host.");
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers().AddNewtonsoftJson(); // ONLY ADDED THIS LINE
builder.Host
.AddAppSettingsSecretsJson()
.UseAutofac()
.UseSerilog();
await builder.AddApplicationAsync<IntHttpApiHostModule>();
var app = builder.Build();
await app.InitializeApplicationAsync();
await app.RunAsync();
return 0;
}
Added this nuget package : https://www.nuget.org/packages/Microsoft.AspNetCore.Mvc.NewtonsoftJson/Microsoft.AspNetCore.Mvc.NewtonsoftJson
Is these steps okay especially do adding builder.Services.AddControllers().AddNewtonsoftJson();
may cause any problem?
Note: I tested patch method and it run successfully.
ABP Framework version: v5.3.3
UI type: Angular
DB provider: EF Core
Tiered (MVC) or Identity Server Separated (Angular): no
Exception message and stack trace:
Response status code does not indicate success: 404 (). System.Net.Http.HttpRequestException: Response status code does not indicate success: 404 (). at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode() at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken) at Volo.Abp.Cli.ServiceProxying.ServiceProxyGeneratorBase``1.GetApplicationApiDescriptionModelAsync(GenerateProxyArgs args) in D:\ci\Jenkins\workspace\abp-framework-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ServiceProxying\ServiceProxyGeneratorBase.cs:line 36
Steps to reproduce the issue:" Open a command-line terminal in the root folder of your client project:
abp generate-proxy -t csharp -u "https://demo.channelengine.net/api/swagger"
I can use generate-proxy for my abp project url successfully . But I failed when using generate-proxy command in another url . Can I use generate-proxy command for any swagger url?
Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples, to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to your question may have been answered before, please use the search on the homepage.
If you're creating a bug/problem report, please include followings:
Abp suite doesn't create UI Pages if Abp solution is a module. Is there a bug or is this impossible?
I create an entity with Abp Suite. Update method was created like this:
public async Task<<Product>> UpdateAsync(
Guid id,
string type
)
{
var queryable = await _productRepository.GetQueryableAsync();
var query = queryable.Where(x => x.Id == id);
var product = await AsyncExecuter.FirstOrDefaultAsync(query);
product.Type = type;
return await _productRepository.UpdateAsync(product);
}
Why isn't the method created like this?
public async Task<<Product>> UpdateAsync(
Guid id,
string type
)
{
var product = await _productRepository.GetAsync(id);
product.Type = type;
return await _productRepository.UpdateAsync(product);
}
Today we faced a really critical problem, all logged in user's in the system (belongs to different tenants) started to be behave like logged in via same tenant and user like XTenant\XUser to the system. Angular side was showing this same tenant and user in top of the right (profile) area. In thi situation we opened Linked Accounts and screen was like below. The problem has been solved after restarting service (app). This problem occured second time. Because of the user's belongs to different tenants see the unrelated (unauthorized) data, this problem is really critical for us. We need urgent support for this.
We are not sure if related with problem, but want to share as an extra information, we realised below error on logs approximately same time:
Invalid extension grant{"error":"TheTargetUserIsNotLinkedToYou"}, details: {"ClientId":"MyApp_App","ClientName":"MyApp_App","GrantType":"LinkLogin","Scopes":"XProject offline_access","AuthorizationCode":"********","RefreshToken":"********","UserName":null,"AuthenticationContextReferenceClasses":null,"Tenant":null,"IdP":null,"Raw":{"grant_type":"LinkLogin","LinkUserId":"39fb9b1b-1ccc-51d0-f52a-964600e6ed13","access_token":"**","client_id":"MyApp_App","client_secret":"***REDACTED***","scope":"offline_access XProject","LinkTenantId":"3a031155-0c87-72e8-5057-48a94e23fce3"},"$type":"TokenRequestValidationLog"}
Note:There are 162 rows in AbpLinkUsers table
I am getting error when submit a record on UI page ("An error occured"):
and AbpAuditLogs.exceptions :
[
{
"code": "Xproject:00132",
"message": "Exception of type 'MyCompany.Xproject.Domain.Addresses.Exceptions.TaxOfficeNotMatchException' was thrown.",
"details": "TaxOfficeNotMatchException: Exception of type 'MyCompany.Xproject.Domain.Addresses.Exceptions.TaxOfficeNotMatchException' was thrown.\nSTACK TRACE: at MyCompany.Xproject.Addresses.AddressManager.CheckTaxOfficeAsync(String taxOffice) in C:\\MyCompany\\Repos\\MyCompany.ECOM.Misc\\MyCompany.Xproject\\aspnet-core\\src\\MyCompany.Xproject.Domain\\Addresses\\AddressManager.cs:line 120\n at MyCompany.Xproject.Addresses.AddressManager.CreateAsync(Int32 countryId, Nullable`1 municipalityId, Nullable`1 neighbourhoodId, Nullable`1 parentId, Nullable`1 cityId, String salutation, String contactName, String contactSurName, String countryPhonePrefix, String phone, String eMail, String companyTitle, String companyDepartment, String iossNr, String postalCode, String addressText, String taxOffice, String taxNr, String idNr, IndividualCorporateType individualCorporateTypeId, DeliveryType deliveryTypeId, Decimal code, Nullable`1 adressTypeId, Boolean deliveryAndInvoiceAddressSame) in C:\\MyCompany\\Repos\\MyCompany.ECOM.Misc\\MyCompany.Xproject\\aspnet-core\\src\\MyCompany.Xproject.Domain\\Addresses\\AddressManager.cs:line 55\n at MyCompany.Xproject.Addresses.AddressesAppService.CreateAsync(AddressCreateDto input) in C:\\MyCompany\\Repos\\MyCompany.ECOM.Misc\\MyCompany.Xproject\\aspnet-core\\src\\MyCompany.Xproject.Application\\Addresses\\AddressAppService.cs:line 263\n at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)\n at
but message in logs.txt looks like it should
2022-06-07 14:36:18.774 +03:00 [WRN] ---------- RemoteServiceErrorInfo ----------
{
"code": "Xproject:00132",
"message": "Vergi Dairesi Alanı Eşleşmedi",
"details": null,
"data": {},
"validationErrors": null
}
2022-06-07 14:36:18.774 +03:00 [WRN] Exception of type 'MyCompany.Xproject.Domain.Addresses.Exceptions.TaxOfficeNotMatchException' was thrown.
MyCompany.Xproject.Domain.Addresses.Exceptions.TaxOfficeNotMatchException: Exception of type 'MyCompany.Xproject.Domain.Addresses.Exceptions.TaxOfficeNotMatchException' was thrown.
at MyCompany.Xproject.Addresses.AddressManager.CheckTaxOfficeAsync(String taxOffice) in C:\MyCompany\Repos\MyCompany.ECOM.Misc\MyCompany.Xproject\aspnet-core\src\MyCompany.Xproject.Domain\Addresses\AddressManager.cs:line 120
at MyCompany.Xproject.Addresses.AddressManager.CreateAsync(Int32 countryId, Nullable`1 municipalityId, Nullable`1
I don't manage exception manually. (there is no any try-catch block)
private async Task CheckTaxOfficeAsync(string taxOffice)
{
if (!string.IsNullOrEmpty(taxOffice))
{
var address = (await _taxOfficeRepository.GetQueryableAsync()).Any(x => x.Name == taxOffice);
if (!address)
{
throw new TaxOfficeNotMatchException();
}
}
}
public class TaxOfficeNotMatchException : BusinessException
{
public TaxOfficeNotMatchException()
: base(XprojectErrorCodes.XprojectTaxOfficeNotMatchError)
{
}
}
ABP Framework version: v4.4.4
UI type: Angular
DB provider: EF Core
Tiered (MVC) or Identity Server Separated (Angular): yes
Exception message and stack trace:
Steps to reproduce the issue:"
I created a new solution with seperate IdentityServer via following cli command:
abp new Acme.BookStore --separate-identity-server -csf -dbms PostgreSql -u angular -m none -t app-pro -v 4.4.4
I changed connection strings
Host=localhost;Port=5432;Database=BookStoreDb;User ID=postgres;Password=1234;
Host=localhost;Port=5432;Database=IdentityServerDb;User ID=postgres;Password=1234;
I executed dotnet run
in .DbMigrator folder.
All tables created in BookStoreDb
but nothing happened in IdentityServerDb
. How can I create seperate IdentityServer Database ?
SELECT a."Id", a."ConcurrencyStamp", a."CreationTime", a."ExtraProperties", a."IsAbandoned", a."JobArgs", a."JobName", a."LastTryTime", a."NextTryTime", a."Priority", a."TryCount"
FROM "AbpBackgroundJobs" AS a
WHERE NOT (a."IsAbandoned") AND (a."NextTryTime" <= @__now_0)
ORDER BY a."Priority" DESC, a."TryCount", a."NextTryTime"
LIMIT @__p_1
Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.2\System.Reflection.Metadata.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
[14:27:52 ERR] An exception occurred while iterating over the results of a query for context type 'Volo.Abp.BackgroundJobs.EntityFrameworkCore.BackgroundJobsDbContext'.
System.InvalidCastException: Cannot write DateTime with Kind=Local to PostgreSQL type 'timestamp with time zone', only UTC is supported. Note that it's not possible to mix DateTimes with different Kinds in an array/range. See the Npgsql.EnableLegacyTimestampBehavior AppContext switch to enable legacy behavior.
at Npgsql.Internal.TypeHandlers.DateTimeHandlers.TimestampTzHandler.ValidateAndGetLength(DateTime value, NpgsqlParameter parameter)
at Npgsql.Internal.TypeHandlers.DateTimeHandlers.TimestampTzHandler.ValidateObjectAndGetLength(Object value, NpgsqlLengthCache& lengthCache, NpgsqlParameter parameter)
at Npgsql.NpgsqlParameter.ValidateAndGetLength()
at Npgsql.NpgsqlParameterCollection.ValidateAndBind(ConnectorTypeMapper typeMapper)
at Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior behavior, Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior behavior, Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable`1.AsyncEnumerator.InitializeReaderAsync(AsyncEnumerator enumerator, CancellationToken cancellationToken)
at Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.NpgsqlExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.InvalidCastException: Cannot write DateTime with Kind=Local to PostgreSQL type 'timestamp with time zone', only UTC is supported. Note that it's not possible to mix DateTimes with different Kinds in an array/range. See the Npgsql.EnableLegacyTimestampBehavior AppContext switch to enable legacy behavior.
at Npgsql.Internal.TypeHandlers.DateTimeHandlers.TimestampTzHandler.ValidateAndGetLength(DateTime value, NpgsqlParameter parameter)
at Npgsql.Internal.TypeHandlers.DateTimeHandlers.TimestampTzHandler.ValidateObjectAndGetLength(Object value, NpgsqlLengthCache& lengthCache, NpgsqlParameter parameter)
at Npgsql.NpgsqlParameter.ValidateAndGetLength()
at Npgsql.NpgsqlParameterCollection.ValidateAndBind(ConnectorTypeMapper typeMapper)
at Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior behavior, Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior behavior, Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable`1.AsyncEnumerator.InitializeReaderAsync(AsyncEnumerator enumerator, CancellationToken cancellationToken)
at Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.NpgsqlExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
Steps to reproduce the issue:"
I create a new solution via Abp Suite (Postgres)
Add Migration (Initial)
Run solution
I get above error in logs.txt
Note:
AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);