smartstore / Smartstore

A modular, scalable and ultra-fast open-source all-in-one eCommerce platform built on ASP.NET Core 7
http://www.smartstore.com/
GNU Affero General Public License v3.0
1.16k stars 427 forks source link

Postgresql support #350

Closed EvK closed 1 year ago

EvK commented 9 years ago

It seems that PostgreSQL is not supported yet, but after little investigation it's quite possible that it will not require too many efforts. With minor modifications I was able to install SmartStore on fresh PostgreSQL instance and perform basic operations (make orders, do some administration etc). Didn't find anything that does not work so far, but didn't try too hard also.

Given that full version of SQL Server costs quite some money and free edition has limitations which might be considered serious in many cases (limited cpu cores, consumed RAM, database size) - adding support for free database without limitations might seriously increase the usefullness of the product.

Even more, SQL Server (including SqlCE) requires Windows machine, while PostgreSQL might run on linux one, which is a huge plus by itself, but also might allow to run whole product on Mono, because Entity Framework, ASP.NET MVC are already available under Mono. This possibility to be able to run whole product on a linux server is quite promising, and dependency on SQL Server products is the most serious obstacle.

muratcakir commented 9 years ago

The key to real platform independence is Entity Framework 7 and ASP.NET vNext with .NET Core. The first will provide first-class support for Postgresql, MySQL etc. The latter guarantees hassle free deployment on Non-Windows OS.

We'll have to wait for this new technology stack to be available and mature enough.

EvK commented 9 years ago

Entity Framework 6 already works fine with PostgreSQL (with Npgsql), including features like migrations. Issue is not Entity Framework but things like stored procedures and raw sql statements which should be ported and maintained in two versions (but there are not much of them as I see). Also things like: in sql server string comparisions might be case insensetive while in postgres - case sensetive, and so on.

As for ASP.NET vNext, ASP.NET MVC also already works fine on mono, I run several such sites. Issue here again is not the platform (asp.net mvc) but another third- party libraries which you use, which might or might not be compatible with mono (for example, if they make some windows pinvoke calls - they are obviously not).

So my point is - things are ready already, and when aforementioned technologies (EF 7 and asp.net vNext) will mature enough, application can be switched to them without losing anything.

Anyway, I like SmartStore.NET and need to run it on mono and postgre now and not in some distant future, so I will anyway investigate if it's possible (well postgre is definetly possible as I investigated already) and let you know about the results if you are interested.

muratcakir commented 9 years ago

It's definitely worth a try.

INFO: StoredProcs can be turned off via IDataProvider. The system would then use LINQ counterparts.

loid345 commented 3 years ago

Are there any plans to support postgresql?

muratcakir commented 3 years ago

We'll start with SqlServer and MySql. PostgreSQL may follow later.

mubarack commented 6 months ago

Hi All, i get error installing smartstore integration with postgres, is there specific DB, db user and password to connect to the database? let me know thanks in advance