-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Description
Which Umbraco version are you using?
dev/17
Bug summary
I am working on a custom SQL provider for PostgreSQL and found several issues in core package which I could not resolve in a package:
- There are a few naming issue because PostgreSQL is case sensitive. These should be easy to fix and are not critical and would NOT be breaking changes (I think).
- There are also hard code SQL statements which are not using the SqlSyntax provider. These should be easy to fix and are not critical and would NOT be breaking changes (I think) too.
- After fixing these my all usual tables and data are created in the database.
But the tables for the OpenId implementation build with Entity Framework are missing. Fixing these would require more complex fixes in core projects. I have found so far:
- The required migrations can not be created or at least I could not figure out how. This is also true for the two core projects
Umbraco.Cms.Persistence.EFCore.SqlServerandUmbraco.Cms.Persistence.EFCore.Sqlite. - Another issue is caused by static extensions method
public static void UseDatabaseProvider(this DbContextOptionsBuilder ...which is not extendable in a package without a custom implementation of DbContextOptionsBuilder. But this might by possible...
Specifics
I am working in branches https://github.com/idseefeld/Umbraco-CMS/tree/v17/EFCore-PostgreSQL-Package and https://github.com/idseefeld/Umbraco-CMS/tree/v17/EFCore-PostgreSQL-Package-Core-Changes.
Branch https://github.com/idseefeld/Umbraco-CMS/tree/v17/EFCore-PostgreSQL-Package-Core-Changes is based on the first and contains only changes in core projects.
Steps to reproduce
PostgreSQL Provider for Umbraco
Install PostggreSQL Database
- Download and install PostgreSQL from the official website or especially for Windwos.
- Create a new database for Umbraco using the PostgreSQL command line or a GUI tool like pgAdmin. Follow my tutorial video.
- Start debugging this solution [F5]
Expected result / actual result
Obviously new persistence providers like PostgreSQL should be possible via packages.
Currently this is not possible because of an inconsistent persistence layer😥