phpcompta-contrib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Phpcompta-contrib] Question idiotes


From: herve couvelard
Subject: Re: [Phpcompta-contrib] Question idiotes
Date: Fri, 20 Jan 2006 16:50:09 +0100
User-agent: Mozilla Thunderbird 1.0.2 (X11/20051002)

Bonjour,

La gestion des contraintes ? les contraintes doivent de toute façon être géré par le code non ?

Si tu fais une demande d'enregistrement hors contrainte, il y a une erreur et l'opération n'est pas réalisée, mais le fait que l'opération ne soit pas réalisée (et sauvegarde ton intégrité de base) ne te dédouane pas que ton code doit récupérer l'erreur et avertir l'utilisateur non ? Quelle est la différence avec la vérification dans le code php que la contrainte est respectée ?

Ok, je comprends que dans ce cas TOUTE LA CHAINE de programmation doit faire attention à ce qui se passe et que le code d'un autre ne peut être intégré sans vérification de l'utilisation de ses contraintes.

Le choix de mysl a été de faire des accès très rapide en lecture si peu d'écriture. Tous mes sites a base de donnée tourne en mysql, je ne vais pas utiliser pgsql sur une appli isolée. C'est un choix.

Je peux soit
1 - porter phpcompta sur mysql et integrer phpcompta et dolibarr
2 - ne pas porter phpcompta et dev de la compta dans dolibarr

Je ne sais pas encore ce que je vais faire.



J'ai intégrer toutes les tables. AU passage, je ne comprend pas pourquoi les tables de admin/sql/dossier1 et /admin/sql/mod1 sont dupliquée.

pour certaines contraintes, il y a d'autres manière de gérer

par exemple :
--------------------------------------------------------------
CREATE TABLE stock_goods (
    sg_id integer DEFAULT nextval('s_stock_goods'::text) NOT NULL,
    j_id integer,
    f_id integer NOT NULL,
    sg_code text,
    sg_quantity integer DEFAULT 0,
    sg_type character(1) DEFAULT 'c'::bpchar NOT NULL,
    sg_date date,
    sg_tech_date date DEFAULT now(),
    sg_tech_user text,
CONSTRAINT stock_goods_sg_type CHECK (((sg_type = 'c'::bpchar) OR (sg_type = 'd'::bpchar)))
);
----------------------------------------------
devient
---------------------------------------------
CREATE TABLE `stock_goods` (
  `sg_id` int(11) NOT NULL auto_increment,
  `j_id` int(11) default NULL,
  `f_id` int(11) NOT NULL default '0',
  `sg_code` varchar(150) default NULL,
  `sg_quantity` int(11) default '0',
  `sg_type` enum('c','d') NOT NULL default 'c',
  `sg_date` date default NULL,
  `sg_tech_date` date default NULL,
  `sg_tech_user` varchar(150) default NULL,
  PRIMARY KEY  (`sg_id`),
  KEY `fk_stock_goods_f_id` (`f_id`),
  KEY ` fk_stock_goods_j_id` (`j_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Mon soucis actuel est qu'il y a 3 bases de donnée distinctes et je n'arrive pas à le faire avec debian sarge. disons que dans une même page je n'arrive pas à me connecter à 2 bases de donnée mysql.

Hervé


Jérôme Warnier a écrit :

Tu oublies la gestion des contraintes, qui va être horrible avec MySQL.
Moi, je persiste à penser que d'utiliser MySQL ne servira qu'à rendre le
code plus gros, plus obscur, et plus sujet à des failles, dont
potentiellement de la perte de données.
Et tous les développeurs que je connais et qui utilisent couramment
MySQL et PostgreSQL rigolent de MySQL (ou plutôt, un certain nombre de
choses dedans ne les fait pas rire du tout).





reply via email to

[Prev in Thread] Current Thread [Next in Thread]