Skip to content
Snippets Groups Projects
Commit 2d468c59 authored by Laurent Destailleur's avatar Laurent Destailleur
Browse files

Fix: Pb sur génération index sur double clés.

parent c0cb4f6c
No related branches found
No related tags found
No related merge requests found
......@@ -266,10 +266,11 @@ foreach my $file (keys %filelist) {
# unique (field) et unique (field1, field2 ...)
if (/unique\s*\(([\w,\s]+)\)/i) {
s/unique\s*\(([\w,\s]+)\)/UNIQUE\($1\)/i;
my $idxname="idx_${table}_$1";
$idxname =~ s/\W/_/g;
my $fieldlist="$1";
my $idxname="idx_${table}_${fieldlist}";
$idxname =~ s/\W/_/g; $idxname =~ tr/_/_/s;
$create_sql.=$_;
$create_index .= "CREATE INDEX $idxname ON $table ($1);\n";
$create_index .= "CREATE INDEX $idxname ON $table ($fieldlist);\n";
next;
}
......
......@@ -20,7 +20,7 @@
--
-- ===========================================================================
-- Supprimme orhpelins pour permettre monte de la cl
-- Supprime orhpelins pour permettre monte de la cl
DELETE llx_usergroup_rights FROM llx_usergroup_rights LEFT JOIN llx_usergroup ON llx_usergroup_rights.fk_usergroup = llx_usergroup.rowid WHERE llx_usergroup.rowid IS NULL;
ALTER TABLE llx_usergroup_rights ADD FOREIGN KEY (fk_usergroup) REFERENCES llx_usergroup (rowid);
......@@ -35,4 +35,4 @@ create table llx_contact_facture
UNIQUE(fk_soc, fk_contact)
);
CREATE INDEX idx_llx_contact_facture_fk_soc__fk_contact ON llx_contact_facture ();
CREATE INDEX idx_llx_contact_facture_fk_soc_fk_contact ON llx_contact_facture (fk_soc, fk_contact);
......@@ -35,4 +35,4 @@ create table llx_so_gr
UNIQUE(fk_soc, fk_groupe)
);
CREATE INDEX idx_llx_so_gr_fk_soc__fk_groupe ON llx_so_gr ();
CREATE INDEX idx_llx_so_gr_fk_soc_fk_groupe ON llx_so_gr (fk_soc, fk_groupe);
......@@ -35,4 +35,4 @@ create table llx_user_param
UNIQUE(fk_user,page,param)
);
CREATE INDEX idx_llx_user_param_fk_user_page_param ON llx_user_param ();
CREATE INDEX idx_llx_user_param_fk_user_page_param ON llx_user_param (fk_user,page,param);
......@@ -24,7 +24,7 @@
--
-- ===========================================================================
-- Supprimme orhpelins pour permettre monte de la cl
-- Supprime orhpelins pour permettre monte de la cl
DELETE llx_usergroup_rights FROM llx_usergroup_rights LEFT JOIN llx_usergroup ON llx_usergroup_rights.fk_usergroup = llx_usergroup.rowid WHERE llx_usergroup.rowid IS NULL;
ALTER TABLE llx_usergroup_rights ADD FOREIGN KEY (fk_usergroup) REFERENCES llx_usergroup (rowid);
......@@ -33,5 +33,5 @@ create table llx_usergroup_rights
UNIQUE(fk_usergroup,fk_id)
);
CREATE INDEX idx_llx_usergroup_rights_fk_usergroup_fk_id ON llx_usergroup_rights ();
CREATE INDEX idx_llx_usergroup_rights_fk_usergroup_fk_id ON llx_usergroup_rights (fk_usergroup,fk_id);
......@@ -33,4 +33,4 @@ create table llx_usergroup_user
UNIQUE(fk_user,fk_usergroup)
);
CREATE INDEX idx_llx_usergroup_user_fk_user_fk_usergroup ON llx_usergroup_user ();
CREATE INDEX idx_llx_usergroup_user_fk_user_fk_usergroup ON llx_usergroup_user (fk_user,fk_usergroup);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment