Création de table et génération de classe

Bonjour,
je suis en train d’apprendre à créer des modules sur dolibarr.
Je consulte donc la documentation Ici : http://wiki.dolibarr.org/index.php/Developpement_module

Il y a deux étapes pour lesquelles j’ai du mal :
1/Tester vos fichier .sql:
Il est dit de désactiver le module dropper les tables en base et réactiver le module.
Mes tables marchent bien puisque je peux les activer manuellement sur PhpMyAdmin mais dropper ? en Base ? j’ai pas compris.
2/Générer la classe PHP DAO d’accès aux tables :
J’exécute la commande : php build_class_from_table.php nomtable
Mais j’ai une fatal error :
PHP Fatal error: require_once(): Failed opening required ‹ C:\wamp\www\dolibarr-
3.4.0\htdocs\suivi\sql/…/…/htdocs/master.inc.php › (include_path=’.;C:\php\pear
') in C:\wamp\www\dolibarr-3.4.0\htdocs\suivi\sql\build_class_from_table.php on
line 36
PHP Stack trace:
PHP 1. {main}() C:\wamp\www\dolibarr-3.4.0\htdocs\suivi\sql\build_class_from_t
able.php:0

Fatal error: require_once(): Failed opening required ‹ C:\wamp\www\dolibarr-3.4.0
\htdocs\suivi\sql/…/…/htdocs/master.inc.php › (include_path=’.;C:\php\pear’) in
C:\wamp\www\dolibarr-3.4.0\htdocs\suivi\sql\build_class_from_table.php on line
36

Call Stack:
0.0047 800016 1. {main}() C:\wamp\www\dolibarr-3.4.0\htdocs\suivi\sql
build_class_from_table.php:0

Ainsi donc un fichier à savoir master.inc.php manque à l’appel … Mais que faire ?

Bonjour,

Dans le fichier modNOMDUMODULE.php, à la fin, il y à la méthode load_tables. Cette méthode qui est appelé lorsque vous activez le module et dedans il y a l’appel _load_tables à qui va lire et exécuter les fichier sql dans le répertoire passé en paramétre.
Obligation des fichier sql
llx_matable.sql => CREATE TABLE
llx_matable.key.sql => CREATE INDEX etc …
data.sql => INSERT INTO, DELETE UPDATE , etc
update.sql => Pour vos future misa jour de votre module

pourle génrateur de classe vous devez avoir le fichier conf.php fonctionnel et si vous lancer le commande
php build_class_from_table.php matable
dans le répertoire C:\wamp\www\dolibarr-3.4.0\dev\skeletton\ (pas besion de la copier dans le répertoire de vote module) cela fonctionne

Sinon ce fichier est aussi en php et vous pouvez le lire pour comprendre de quoi il parle quand il dit
PHP Fatal error: require_once(): Failed opening required ‹ C:\wamp\www\dolibarr-
3.4.0\htdocs\suivi\sql/…/…/htdocs/master.inc.php › (include_path=’.;C:\php\pear
') in C:\wamp\www\dolibarr-3.4.0\htdocs\suivi\sql\build_class_from_table.php on
line 36

1 « J'aime »

Bonjour,
Merci beaucoup pour votre contribution.
Tout marche parfaitement bien maintenant.
Il serait juste judicieux d’éviter des phrases peu claires comme celles que j’ai cité lors de mon premier message sur le wiki.dolibarr.

Encore une fois merci.