[résolu]créer la table en activant le module

Bonjour,

je bloque à l’étape « Tester vos fichier .sql »

En effet, j’ai bien placé mes fichiers .sql dans le dossier htdocs/ecomm/sql.

Voici le log de dolibarr quand j’active mon module

2010-02-10 11:45:49 DEBUG 192.168.1.5 nologin modules User::Fetch sql=SELECT u.rowid, u.name, u.firstname, u.email, u.office_phone, u.office_fax, u.user_mobile, u.admin, u.login, u.webcal_login, u.phenix_login, u.phenix_pass, u.note, u.pass, u.pass_crypted, u.pass_temp, u.fk_societe, u.fk_socpeople, u.fk_member, u.ldap_sid, u.statut, u.lang, u.entity, unix_timestamp(u.datec) as datec, unix_timestamp(u.tms) as datem, unix_timestamp(u.datelastlogin) as datel, unix_timestamp(u.datepreviouslogin) as datep FROM llx_user as u WHERE u.entity IN (0,1) AND u.login = 'remi' 2010-02-10 11:45:49 INFO 192.168.1.5 remi modules This is an already logged session. _SESSION['dol_login']=remi 2010-02-10 11:45:49 INFO 192.168.1.5 remi modules Access to /dolibarr/htdocs/admin/modules.php 2010-02-10 11:45:49 DEBUG 192.168.1.5 remi modules User::getRights sql=SELECT r.module, r.perms, r.subperms FROM llx_user_rights as ur, llx_rights_def as r WHERE r.id = ur.fk_id AND r.entity = 1 AND ur.fk_user= 1 AND r.perms IS NOT NULL 2010-02-10 11:45:49 DEBUG 192.168.1.5 remi modules User::getRights sql=SELECT r.module, r.perms, r.subperms FROM llx_usergroup_rights as gr, llx_usergroup_user as gu, llx_rights_def as r WHERE r.id = gr.fk_id AND gr.fk_usergroup = gu.fk_usergroup AND gu.fk_user = 1 AND r.perms IS NOT NULL AND r.entity = 1 2010-02-10 11:45:49 DEBUG 192.168.1.5 remi modules BEGIN Transaction 2010-02-10 11:45:49 DEBUG 192.168.1.5 remi modules DolibarrModules::_dbactive sql=DELETE FROM llx_dolibarr_modules WHERE numero = 5555 AND entity = 1 2010-02-10 11:45:49 DEBUG 192.168.1.5 remi modules DolibarrModules::_dbactive sql=INSERT INTO llx_dolibarr_modules (numero, entity, active, active_date, active_version) VALUES (5555, 1, 1, '20100210114549', '1.0') 2010-02-10 11:45:49 DEBUG 192.168.1.5 remi modules DolibarrModules::_active sql=DELETE FROM llx_const WHERE name = 'MAIN_MODULE_ECOMM' AND entity in (0, 1) 2010-02-10 11:45:49 DEBUG 192.168.1.5 remi modules DolibarrModules::_active sql=INSERT INTO llx_const (name,value,visible,entity) VALUES ('MAIN_MODULE_ECOMM','1',0,1) 2010-02-10 11:45:49 INFO 192.168.1.5 remi modules DolibarrModules::insert_tabs sql=INSERT INTO llx_const (name, type, value, note, visible, entity) VALUES ('MAIN_MODULE_ECOMM_TABS_0', 'chaine', 'entity:Title:@mymodule:/mymodule/mynewtab.php?id=__ID__', null, '0', 1) 2010-02-10 11:45:49 DEBUG 192.168.1.5 remi modules COMMIT Transaction 2010-02-10 11:45:49 DEBUG 192.168.1.5 nologin modules User::Fetch sql=SELECT u.rowid, u.name, u.firstname, u.email, u.office_phone, u.office_fax, u.user_mobile, u.admin, u.login, u.webcal_login, u.phenix_login, u.phenix_pass, u.note, u.pass, u.pass_crypted, u.pass_temp, u.fk_societe, u.fk_socpeople, u.fk_member, u.ldap_sid, u.statut, u.lang, u.entity, unix_timestamp(u.datec) as datec, unix_timestamp(u.tms) as datem, unix_timestamp(u.datelastlogin) as datel, unix_timestamp(u.datepreviouslogin) as datep FROM llx_user as u WHERE u.entity IN (0,1) AND u.login = 'remi' 2010-02-10 11:45:49 INFO 192.168.1.5 remi modules This is an already logged session. _SESSION['dol_login']=remi 2010-02-10 11:45:49 INFO 192.168.1.5 remi modules Access to /dolibarr/htdocs/admin/modules.php 2010-02-10 11:45:49 DEBUG 192.168.1.5 remi modules User::getRights sql=SELECT r.module, r.perms, r.subperms FROM llx_user_rights as ur, llx_rights_def as r WHERE r.id = ur.fk_id AND r.entity = 1 AND ur.fk_user= 1 AND r.perms IS NOT NULL 2010-02-10 11:45:49 DEBUG 192.168.1.5 remi modules User::getRights sql=SELECT r.module, r.perms, r.subperms FROM llx_usergroup_rights as gr, llx_usergroup_user as gu, llx_rights_def as r WHERE r.id = gr.fk_id AND gr.fk_usergroup = gu.fk_usergroup AND gu.fk_user = 1 AND r.perms IS NOT NULL AND r.entity = 1 2010-02-10 11:45:49 INFO 192.168.1.5 remi modules Menubase::menuTopCharger sql=SELECT m.rowid, m.mainmenu, m.titre, m.url, m.langs, m.perms, m.enabled, m.target FROM llx_menu as m WHERE m.type = 'top' AND m.entity = 1 AND m.menu_handler in('eldy','all') AND m.usertype in (0,2) ORDER BY m.position 2010-02-10 11:45:49 INFO 192.168.1.5 remi modules Menubase::menuLeftCharger sql=SELECT m.rowid, m.fk_menu, m.url, m.titre, m.langs, m.perms, m.enabled, m.target, m.mainmenu, m.leftmenu FROM llx_menu as m WHERE m.menu_handler in('eldy','all') AND m.entity = 1 AND m.usertype in (0,2) ORDER BY m.position, m.rowid 2010-02-10 11:45:49 DEBUG 192.168.1.5 remi modules DoliDB::disconnect

Et voici mes fichiers Sql (qui s’execute bien quand je passe par l’outil executer une rqt sql de ma bd)

llx_ecomm.sql

create table llx_ecomm ( fk_rowid integer NOT NULL, ecomm varchar(15) NOT NULL, ecommid integer, PRIMARY KEY (fk_rowid, ecomm) )type=innodb;

llx_ecomm.key.sql

ALTER TABLE llx_ecomm ADD CONSTRAINT fk_ecomm_fk_prod FOREIGN KEY (fk_rowid) REFERENCES llx_product (rowid);

Une idée du pourquoi il ne veut pas charger mes .sql ?
Merci d’avance :blink:

Ok je me repond tout seul, mais ça peut servir à d’autres qui comme moi, colle un peu trop près leur nez sur leur écran…

Pour mon cas, c’est le fichier modEcomm.class.php placé dans le repertoire htdocs/includes/modules qu’il faut penser à éditer :

return $this->_load_tables('/mymodule/sql/');
en

[code]
return $this->_load_tables(’/ecomm/sql/’);[/code

J’ai eu le même problème.
Je te remercie donc infiniment !!!

merci so much :happy:

Bonjour,

Probleme de creation pas encore résolu en ce qui me concerne:

j’ai beau suivre la petite proc
http://wiki.dolibarr.org/index.php/Developpement_module
à la lettre, nada…
j’en déduit que je lis pas bien …
nb: mon script de création de table passe très bien en manuelle via mon gestionnaire de DB.

une petite aide?

d’avance merci

f

Bonjour,

Dans le fichier sql, essayez de mettre engine=innodb au lieu de type=innodb.

Bonjour,

http://wiki.dolibarr.org/index.php/Langages_et_normes#Format_de_fichier_DDL

Cdt.

D’après cet exemple qui a servi dernièrement j’ai dû remplacer type=innodb par engine=innodb pour que la table soit créée.

Vrai,
J’ai corrigé le wiki

1 « J'aime »

Bonjour,

De fait, après qq recherches, vous lire ici, un peu de remise en question…de repos…
ben ça marche top… :wink:

Etape suivant en ce qui me concerne (mais sans doute dans un autre post?)

afficher dans un Tab (third parties>Tab MonNouveauTab) la liste de la table ainsi créée.

Tout fonctionne (toujours en suivant la proc du wiki), la création du tab, le menu etc…
sauf que je n’arrive pas à afficher ma liste

MAIS cela est pour un autre post :wink:

encore merci

Frederic