In this fork, I force all PostgreSQL database objects to lowercase. This is due to problems due to Umbraco’s camel casing, sometimes inconsistent quoting within Umbraco of schema objects and PostgreSQL's case insensitivity methods.
In addition, PetaPoco objects were modified to expect PostgreSQL to have lowercase schemas. In addition most significantly, PetaPoco was modified to use an internal Expando object (sourced from the Massive project) that is case insensitive rather than the default System.Dynamic.ExpandoObject. This was done as the PetaPoco was building case sensitive POCOS (derived from Expando) causing Umbraco to expecting camel case objects and PostgreSQL returning lowercase. If the POCO is case insensitive, problem solved.
Last of all, I added operators for Boolean-->Int comparisons, SQL helpers for both new and old database layer objects, and provided in the UI the capability to choose PostgreSQL as a data store.
Any interest in working this in the Umbraco core?
Todo:
Extensive testing and bug fixes
Custom connection strings
Fork with PostgreSQL support
Hello,
For anyone interested, I have an EXPERIMENTAL fork of DEV (from Late September) modified to support the database PostgreSQL.
This fork is available at https://github.com/corsjune/Umbraco-CMS
I have a running instance of Umbraco at http://postresqltest.corsjune.com/ which is powered by PostgreSQL.
In this fork, I force all PostgreSQL database objects to lowercase. This is due to problems due to Umbraco’s camel casing, sometimes inconsistent quoting within Umbraco of schema objects and PostgreSQL's case insensitivity methods.
In addition, PetaPoco objects were modified to expect PostgreSQL to have lowercase schemas. In addition most significantly, PetaPoco was modified to use an internal Expando object (sourced from the Massive project) that is case insensitive rather than the default System.Dynamic.ExpandoObject. This was done as the PetaPoco was building case sensitive POCOS (derived from Expando) causing Umbraco to expecting camel case objects and PostgreSQL returning lowercase. If the POCO is case insensitive, problem solved.
Last of all, I added operators for Boolean-->Int comparisons, SQL helpers for both new and old database layer objects, and provided in the UI the capability to choose PostgreSQL as a data store.
Any interest in working this in the Umbraco core?
Todo:
Extensive testing and bug fixes Custom connection strings
is working on a reply...