[sumeyye.kurtulus] said: Hello,
I could not produce the same problem on my end. Can you share the ABP version you have used to create your application along with the suite version?
If you prefer, you can send me a minimal reproducible example. Here is my e-mail address: sumeyye.kurtulus@volosoft.com
Thank you for your cooperation.
I have created two different types of solutions separately. ABP Suite Version is 9.2.3. After Create Angular UI by ABP Suite and Create same entity. The Layered Solution is succeed,but The Microservice Solution is failed.
Layered Solution logs: 2025-08-07 11:58:36.807 +08:00 [INF] 10/11 - AngularUiGenerateWithSchematicsCommand started... 2025-08-07 11:58:36.808 +08:00 [INF] Running the Angular Schematics command: node run-schematics.mjs "E:/work/spctest/angular/.suite/schematics/node_modules/.bin/ng" g ".suite/schematics/collection.json:entity" app-pro spctest "E:/work/spctest/.suite/entities/Book.json" "E:/work/spctest/angular" 2025-08-07 11:58:38.979 +08:00 [INF] Angular Schematics command executed successfully. [36mUPDATE[39m src/app/books/book/providers/book-base.routes.ts (294 bytes) [36mUPDATE[39m src/app/books/book/components/book-detail.component.html (2408 bytes) [36mUPDATE[39m src/app/books/book/components/book.abstract.component.ts (1701 bytes) [36mUPDATE[39m src/app/books/book/components/book.component.html (8360 bytes) [36mUPDATE[39m src/app/books/book/services/book-detail.abstract.service.ts (1794 bytes) [36mUPDATE[39m src/app/books/book/services/book.abstract.service.ts (4119 bytes) [36mUPDATE[39m src/app/proxy/generate-proxy.json (38582 bytes) [36mUPDATE[39m src/app/proxy/books/book.service.ts (4106 bytes) [36mUPDATE[39m src/app/proxy/books/models.ts (657 bytes) [36mUPDATE[39m src/app/proxy/shared/models.ts (297 bytes) [36mUPDATE[39m src/app/proxy/books/index.ts (92 bytes) [36mUPDATE[39m src/app/proxy/shared/index.ts (26 bytes) [36mUPDATE[39m src/app/proxy/index.ts (96 bytes)
2025-08-07 11:58:39.121 +08:00 [INF] 10/11 - AngularUiGenerateWithSchematicsCommand completed. | Duration: 2314 ms.
Microservice Solution logs: 2025-08-07 13:46:39.784 +08:00 [INF] 9/10 - AngularUiGenerateWithSchematicsCommand started... 2025-08-07 13:46:39.786 +08:00 [INF] Running the Angular Schematics command: node run-schematics.mjs "E:/work/msatest/apps/angular/.suite/schematics/node_modules/.bin/ng" g ".suite/schematics/collection.json:entity" app-nolayers-pro msatest.OrderingService "E:/work/msatest/services/ordering/.suite/entities/Book.json" "E:/work/msatest/apps/angular" 2025-08-07 13:46:41.545 +08:00 [INF] Angular Schematics command failed. E:\work\msatest\apps\angular.suite\schematics\node_modules\execa\lib\error.js:60 error = new Error(message); ^
Error: Command failed with exit code 1: .suite/schematics/node_modules/.bin/ng g .suite/schematics/collection.json:entity --template app-nolayers-pro --target msatest.OrderingService --source E:/work/msatest/services/ordering/.suite/entities/Book.json [1m[31m[Project Not Found] A project matching entity solution name or a default project does not exist in your Angular workspace.[39m[22m at makeError (E:\work\msatest\apps\angular.suite\schematics\node_modules\execa\lib\error.js:60:11) at handlePromise (E:\work\msatest\apps\angular.suite\schematics\node_modules\execa\index.js:118:26) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async file:///E:/work/msatest/apps/angular/.suite/schematics/run-schematics.mjs:6:20 { shortMessage: 'Command failed with exit code 1: .suite/schematics/node_modules/.bin/ng g .suite/schematics/collection.json:entity --template app-nolayers-pro --target msatest.OrderingService --source E:/work/msatest/services/ordering/.suite/entities/Book.json', command: '.suite/schematics/node_modules/.bin/ng g .suite/schematics/collection.json:entity --template app-nolayers-pro --target msatest.OrderingService --source E:/work/msatest/services/ordering/.suite/entities/Book.json', escapedCommand: '".suite/schematics/node_modules/.bin/ng" g ".suite/schematics/collection.json:entity" --template app-nolayers-pro --target msatest.OrderingService --source "E:/work/msatest/services/ordering/.suite/entities/Book.json"', exitCode: 1, signal: undefined, signalDescription: undefined, stdout: '', stderr: '\x1B[1m\x1B[31m[Project Not Found] A project matching entity solution name or a default project does not exist in your Angular workspace.\x1B[39m\x1B[22m', failed: true, timedOut: false, isCanceled: false, killed: false }
Node.js v24.5.0
2025-08-07 13:46:41.553 +08:00 [INF] 9/10 - AngularUiGenerateWithSchematicsCommand completed. | Duration: 1769 ms.
[EngincanV] said:
[48949912] said: Anyone else can help me to sovle this problem?
Hi, what's your problem exactly? ABP Suite generates CRUD pages for the Microservice Template. Actually, we even have a full Microservice Development Tutorial, which you can check at https://abp.io/docs/latest/tutorials/microservice?UI=NG&DB=EF
Also, you may need to follow the instructions here: https://github.com/abpframework/abp/issues/20827#issuecomment-2624232973
After Create Angular UI by ABP Suite, it throws this exception:
2025-08-06 20:09:16.985 +08:00 [INF] 9/10 - AngularUiGenerateWithSchematicsCommand started... 2025-08-06 20:09:32.875 +08:00 [INF] Running the Angular Schematics command: node run-schematics.mjs "D:/Work/Program/imcsmsa/apps/angular/.suite/schematics/node_modules/.bin/ng" g ".suite/schematics/collection.json:entity" app-nolayers-pro imcsmsa.OrderingService "D:/Work/Program/imcsmsa/services/ordering/.suite/entities/Book.json" "D:/Work/Program/imcsmsa/apps/angular" 2025-08-06 20:09:39.125 +08:00 [INF] Angular Schematics command failed. D:\Work\Program\imcsmsa\apps\angular.suite\schematics\node_modules\execa\lib\error.js:60 error = new Error(message); ^
Error: Command failed with exit code 1: .suite/schematics/node_modules/.bin/ng g .suite/schematics/collection.json:entity --template app-nolayers-pro --target imcsmsa.OrderingService --source D:/Work/Program/imcsmsa/services/ordering/.suite/entities/Book.json [1m[31m[Project Not Found] A project matching entity solution name or a default project does not exist in your Angular workspace.[39m[22m at makeError (D:\Work\Program\imcsmsa\apps\angular.suite\schematics\node_modules\execa\lib\error.js:60:11) at handlePromise (D:\Work\Program\imcsmsa\apps\angular.suite\schematics\node_modules\execa\index.js:118:26) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async file:///D:/Work/Program/imcsmsa/apps/angular/.suite/schematics/run-schematics.mjs:6:20 { shortMessage: 'Command failed with exit code 1: .suite/schematics/node_modules/.bin/ng g .suite/schematics/collection.json:entity --template app-nolayers-pro --target imcsmsa.OrderingService --source D:/Work/Program/imcsmsa/services/ordering/.suite/entities/Book.json', command: '.suite/schematics/node_modules/.bin/ng g .suite/schematics/collection.json:entity --template app-nolayers-pro --target imcsmsa.OrderingService --source D:/Work/Program/imcsmsa/services/ordering/.suite/entities/Book.json', escapedCommand: '".suite/schematics/node_modules/.bin/ng" g ".suite/schematics/collection.json:entity" --template app-nolayers-pro --target imcsmsa.OrderingService --source "D:/Work/Program/imcsmsa/services/ordering/.suite/entities/Book.json"', exitCode: 1, signal: undefined, signalDescription: undefined, stdout: '', stderr: '\x1B[1m\x1B[31m[Project Not Found] A project matching entity solution name or a default project does not exist in your Angular workspace.\x1B[39m\x1B[22m', failed: true, timedOut: false, isCanceled: false, killed: false }
Node.js v24.4.1
[maliming] said: ok, you can create a new tenant and set all service connection strings.
Thanks.
According to the method you provided above, it can currently be used normally. You are professional!
[maliming] said: hi
Try to update
XXXSaasServiceModuleandSaasServiceDatabaseMigrationEventHandleras below:Then set connection strings for each microserver in a tenant.
Configure<AbpDbConnectionOptions>(options => { options.Databases.Configure("AdministrationService", database => { database.MappedConnections.Add(AbpPermissionManagementDbProperties.ConnectionStringName); database.MappedConnections.Add(AbpFeatureManagementDbProperties.ConnectionStringName); database.MappedConnections.Add(AbpSettingManagementDbProperties.ConnectionStringName); }); options.Databases.Configure("AuditLoggingService", database => { database.MappedConnections.Add(AbpAuditLoggingDbProperties.ConnectionStringName); }); options.Databases.Configure("ChatService", database => { database.MappedConnections.Add("ChatService"); }); options.Databases.Configure("GdprService", database => { database.MappedConnections.Add("GdprService"); }); options.Databases.Configure("IdentityService", database => { database.MappedConnections.Add("IdentityService"); }); options.Databases.Configure("FileManagementService", database => { database.MappedConnections.Add("FileManagementService"); }); options.Databases.Configure("LanguageService", database => { database.MappedConnections.Add(LanguageManagementDbProperties.ConnectionStringName); }); });using Volo.Abp.EntityFrameworkCore.Migrations; using Volo.Abp.EventBus.Distributed; using Volo.Abp.DistributedLocking; using Volo.Abp.MultiTenancy; using Volo.Abp.Uow; using Volo.Abp.Data; namespace AbpSolution2.SaasService.Data; public class SaasServiceDatabaseMigrationEventHandler : EfCoreDatabaseMigrationEventHandlerBase<SaasServiceDbContext> { private readonly SaasServiceDataSeeder _dataSeeder; public SaasServiceDatabaseMigrationEventHandler( ILoggerFactory loggerFactory, ICurrentTenant currentTenant, IUnitOfWorkManager unitOfWorkManager, ITenantStore tenantStore, IAbpDistributedLock abpDistributedLock, IDistributedEventBus distributedEventBus, SaasServiceDataSeeder dataSeeder ) : base( SaasServiceDbContext.DatabaseName, currentTenant, unitOfWorkManager, tenantStore, abpDistributedLock, distributedEventBus, loggerFactory) { _dataSeeder = dataSeeder; } public override Task HandleEventAsync(TenantCreatedEto eventData) { return Task.CompletedTask; } public override Task HandleEventAsync(ApplyDatabaseMigrationsEto eventData) { return Task.CompletedTask; } public override Task HandleEventAsync(TenantConnectionStringUpdatedEto eventData) { return Task.CompletedTask; } protected override async Task SeedAsync(Guid? tenantId) { await _dataSeeder.SeedAsync(tenantId); } }
Thanks a lot! I I'm going to test right away.
[maliming] said: hi
I found the problem. I will provide a solution soon.
Thanks.
Thanks a lot!
[maliming] said: hi
After login use tenant,throw the exception:
Can you share the logs after this exception?
I checked the logs. The databases have migrated successfully.
Thanks.
I have send the logs to liming.ma@volosoft.com
[maliming] said: What are the connection strings of the current tenant?
You can try creating a new tenant with a custom connection string, then check the logs.txt file to see if the tenant migration is successful.
Thanks.
I have Create New Microservice Solution? I create a new tenant:sungrow,The tenant separate database connectionstring like this:

After set tenant separate database connectionstring and click 'save' button,I have send the logs to liming.ma@volosoft.com
After login use tenant,throw the exception:

So I Check the tenant database,the Table 'imcsspc sungrow.abpusers' doesn't exist:

It's really urgent - been stuck for days without resolution!
[maliming] said: hi
The error is
MySqlConnector.MySqlException (0x80004005): Table 'saas_spc.chatusers' doesn't existdefault:Server=192.168.1.188;Port=3306;Database=SaaS_spc;Uid=root;Pwd=shrhkjgs@-@; AdministrationService Server=192.168.1.188;Port=3306;Database=SaaS_spcadmin;Uid=root;Pwd=shrhkjgs@-@ AuditLoggingService Server=192.168.1.188;Port=3306;Database=SaaS_spcaudit;Uid=root;Pwd=shrhkjgs@-@; LanguageService Server=192.168.1.188;Port=3306;Database=SaaS_spclang;Uid=root;Pwd=shrhkjgs@-@;Can you check the tables in the
SaaS_spcdatabase?Thanks.
Excuse me,i can‘t find the table “chatusers” in the database “saas_spc”,not create after set tenant separate database connectionstring by the page。
Anyone else can help me to sovle this problem?
[48949912] said:
[maliming] said: hi
Have you overridden the Login page?
Have you set custom connection string for current tenants?
Can you share the
logs.txtof yourlocalhost:44303project?Thanks.
Excuse me , the last problem is solved, i can use tenant to login ,but i found new problem, when i click chat and file management, it given new exception:

The DataBase Connection string for tenant user: default:Server=192.168.1.188;Port=3306;Database=SaaS_spc;Uid=root;Pwd=shrhkjgs@-@; AdministrationService Server=192.168.1.188;Port=3306;Database=SaaS_spcadmin;Uid=root;Pwd=shrhkjgs@-@ AuditLoggingService Server=192.168.1.188;Port=3306;Database=SaaS_spcaudit;Uid=root;Pwd=shrhkjgs@-@; LanguageService Server=192.168.1.188;Port=3306;Database=SaaS_spclang;Uid=root;Pwd=shrhkjgs@-@;
 
                                