A major future goal of Deki is to gain cross-database support. This will allow Deki to run in more environments where the only currently supported RDBMS -- MySql -- is not widely deployed or in some cases is even disallowed. This spec page serves as a way to aggregate the ideas and tasks involved in achieving db independence. So far it's mostly a stub page so don't hesitate to change any structure or content.
This is based on the perceived number of requests on the forum starting at most requested:
Once these are working the effort to port to other db's is greatly reduced.
Would be great to take advantage of an existing library to handle the database-specifics. Unfortunately since we didn't start using an ORM it may take significant effort to port the existing db logic to something that can cleanly be handled by a lib such as nHibernate or others. Tables may not map cleanly enough and there may still be a lot of queries hand written or with a meta query language like HQL. This option needs to be explored further.
Other ORM's to look at?
Currently all (ok, 98%) of the queries are done from the data access layer. The trunk code for this is here: https://svn.mindtouch.com/source/pub...ki/DataAccess/
Use a factory pattern to return classes/connection strings associated with the configured db. Existing datalayer can start out as being the base classes and any db-specific methods can override where necessary.
Need to evaluate the existing MySql queries and determine the known incompatibilities and solutions up front.
Column changes, Table removal/addition, data updates, etc
| Images 0 | ||
|---|---|---|
| No images to display in the gallery. |
Even if it's the best product.
So you have my vote for MS SQL as a backend DB !