Fix: Pb sur gnration index sur double cls.

This commit is contained in:
Laurent Destailleur 2005-03-05 14:00:20 +00:00
parent c0cb4f6cea
commit 2d468c59a3
8 changed files with 11 additions and 10 deletions

View File

@ -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;
}

View File

@ -20,7 +20,7 @@
--
-- ===========================================================================
-- Supprimme orhpelins pour permettre montée de la clé
-- Supprime orhpelins pour permettre montée 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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -24,7 +24,7 @@
--
-- ===========================================================================
-- Supprimme orhpelins pour permettre montée de la clé
-- Supprime orhpelins pour permettre montée 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);

View File

@ -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);

View File

@ -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);