Environment Information:
• ABP Framework Version: (9.2.0)
• UI Type: Angular
• Database (Main App): SQL Server
• New Microservice Databases: PostgreSQL
• Solution Type: Microservice
• Auth Server Type: IdentityServer
•
Problem Description: I'm adding a new microservice to an existing ABP.IO microservice solution (created with abp new using SQL Server). The new service uses: • PostgreSQL for relational data (via EF Core) While the backend API for the new microservice builds and runs, it is not integrated properly into the solution:
Issues Encountered: 1. Backend API not visible in Angular UI ◦ API endpoints are functional (tested with Swagger) ◦ Angular app does not show menus or modules related to the new microservice 2. No Permissions Created ◦ Permission groups defined in the new microservice are not visible in the AbpPermissions table in SQL Server ◦ No roles or permissions appear to be synchronized 3. Settings Not Registered ◦ Settings defined in the new microservice module are not persisted to the database ◦ They don't appear in the AbpSettings table 4. No Navigation/Menu Integration ◦ Angular does not list the new module/menu ◦ Menu contributor not picked up (even though it’s implemented)
And For MongoDB Service
Environment Information: • ABP Framework Version: (9.2.0) • UI Type: Angular • Database (Main App): SQL Server • New Microservice Databases: MongoDB • Solution Type: Microservice • Auth Server Type: IdentityServer • Problem Description: I'm adding a new microservice to an existing ABP.IO microservice solution (created with abp new using SQL Server). The new service uses: • MongoDB While the backend API for the new microservice builds and runs, it is not integrated properly into the solution:
Issues Encountered: 1. Backend API not visible in Angular UI ◦ API endpoints are functional (tested with Swagger) ◦ Angular app does not show menus or modules related to the new microservice 2. No Permissions Created ◦ AbpPermissions documents are created in MongoDB database, not in SQL Server (Is that correct?) ◦ Permission groups defined in the new microservice are not visible in the AbpPermissions Document in MongoDB. ◦ No roles or permissions appear to be synchronized 3. Settings Not Registered ◦ Settings defined in the new microservice module are not persisted to the database ◦ They don't appear in the AbpSettings Document in MongoDB. 4. No Navigation/Menu Integration ◦ Angular does not list the new module/menu ◦ Menu contributor not picked up (even though it’s implemented)
3 Answer(s)
-
0
In an ABP microservice solution, each microservice manages its own database (SQL Server, PostgreSQL, MongoDB, etc.), and its own permissions, settings, and menu/navigation data are stored in its own database, not in the main app's SQL Server database. This is by design for microservice isolation.
For the Angular UI to display menus and modules from a new microservice, you must:
- Ensure the new microservice's HTTP API is properly registered in the API Gateway (or reverse proxy) so the Angular app can reach it.
- Implement and expose the menu contributor in the new microservice's HTTP API Host project.
- Add the new microservice's remote service configuration to the Angular app (in
environment.ts
), so it knows about the new endpoints. - If you want the Angular UI to show new permissions, settings, or menus, you must update the Angular app to import the new module's proxy and add menu items as needed.
Permissions and settings for each microservice are stored in that microservice's own database:
- For PostgreSQL: Permissions and settings are in the PostgreSQL database.
- For MongoDB: Permissions and settings are in the MongoDB database.
- They will not appear in the main app's SQL Server database.
If permissions, settings, or menus are not being created:
- Ensure you have run the database migrations for the new microservice.
- Make sure the permission and setting definitions are in the correct module and are being registered on startup.
- For permissions to appear in the database, they must be granted to a role or user (they are not inserted by default until granted).
For menu/navigation integration:
- The Angular app only shows menus for modules it is aware of. You must update the Angular app to include the new module's proxies and menu definitions.
- The menu contributor in the backend must be correctly implemented and exposed via the HTTP API Host.
For MongoDB: It is correct that AbpPermissions and AbpSettings are stored as documents in MongoDB for that microservice. They are not synchronized with SQL Server or other databases.
In summary, each microservice is isolated. To integrate new microservices with the Angular UI:
- Register the new API in the gateway and Angular environment.
- Update the Angular app to include the new module's proxies and menu items.
- Ensure permissions and settings are granted and registered in the new microservice.
Sources:
This response was generated by AI. If it didn’t solve your problem, feel free to post a new answer — our support team will jump in to help you soon.
-
0
We already Run the Migrations for Both PostGres service and MongoDb Service. Also there is no option to provide permissions for role or user and also not appear in the database.
We also take reference from community post and also check sample code given in repository, but it did not helped me in sorting this out.
So help me.
-
0
[vkelwan] said: We already Run the Migrations for Both PostGres service and MongoDb Service. Also there is no option to provide permissions for role or user and also not appear in the database.
We also take reference from community post and also check sample code given in repository, but it did not helped me in sorting this out.
So help me.
Hi, by any chance, can you share your solution via email (to support@abp.io with the ticket number), so I can directly check it through your project?