Hello All,
I would like to precise some things about PgSQL. There is a
free module on DoliStore to easy to migrate from MySQL to PgSQL.
This module is build for Dolibarr and do all check that need to be
done speciccly for Dolibarr and PgSQL.
Module :
http://www.dolistore.com/lang-fr/outils-systemes/195-Migrate-to-PostgreSQL.html
DoliForge Project :
https://doliforge.org/projects/MigrationToPG/
There is a non solve issue between PgSQL and MySQL, the
"update from" request.
Syntax work with MySQL is :
UPDATE table_taget as target, table_source as source SET
fieldtarget=source.fieldsource
WHERE source.rowid=target.rowid;
syntax work on pgSQL:
UPDATE table_taget as target SET fieldtarget=source.fieldsource
FROM table_source as source WHERE source.rowid=target.rowid;
There is no native SQL request "update from" in dolibarr core. But
in your module you should do :
if ($this->db->type=='pgsql') {
$sql="UPDATE table_taget as target SET
fieldtarget=source.fieldsource
FROM table_source as source WHERE source.rowid=target.rowid";
} else {
$sql= "UPDATE table_taget as target, table_source as source SET
fieldtarget=source.fieldsource
WHERE source.rowid=target.rowid";
}
Kind regards.
Florian HENRY
address@hidden
+33 6 03 76 48 07
http://www.open-concept.pro
Twitter : @_Open_Concept_
Le 25/04/2013 22:47, Laurent Destailleur (eldy) a écrit :
Le 25/04/2013 17:21, Marcos García a
écrit :
I think it would be nice that we use Dolibarr
with Doctrine or any ORM so that way we won't have
compatibility problems with different database drivers...
Dolibarr already has its own abstract database driver.
And this abstract layer is really better than doctrine and any
other orm. We already test all of them and they were not enough
powerfull to match dolibarr quality, so we develop ours.
For exemple,
- Abstraction for error report differs according to dabase. System
works for all database but they return error code of database and
not value differs.
- Doctrime, like other ORM does not support imbricated level of
transaction
- Doctrine like other CRM does not allow to make a difference
between ddl and dml. And this is required to be able to manage
upgrade process.
- Doctrine like other CRM support select, update, delete and
insert but few of them support instruction to manage foreign key
creation, or support is not working correctly.
The problem of Florian is not a problem of ORM. It is just that
request are not correctly written by developer. So we have to fix
this into core code.
We recommand to develop using Postgresql, as when it works with
postgres, it works with mysql but not the oposite.
_______________________________________________
Dolibarr-dev mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/dolibarr-dev
--
Eldy (Laurent Destailleur).
EMail: address@hidden
Web: http://www.destailleur.fr
Dolibarr (Project leader): http://www.dolibarr.org
To make a donation for Dolibarr project via Paypal: address@hidden
AWStats (Author) : http://awstats.sourceforge.net
To make a donation for AWStats project via Paypal: address@hidden
AWBot (Author) : http://awbot.sourceforge.net
CVSChangeLogBuilder (Author) : http://cvschangelogb.sourceforge.net
_______________________________________________
Dolibarr-dev mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/dolibarr-dev