Errore di installazione

alonzo

Well-known member
Ho appena installato con MySql di Aruba la nuova versione beta di Dadabik, ma mi da questo errore...

[08] Error: during query execution.
ALTER TABLE dadabik_locked_records ADD UNIQUE INDEX record_index (table_locked_record, pk_locked_record, value_locked_record)
DBMS server said: Specified key was too long; max key length is 1000 bytes
 

eugenio

Administrator
Staff member
Probabilmente sta usando utf8, quindi la somma dei byte utilizzati per i tre campi di chiave supera i 1000.
Grazie per averlo segnalato, si tratta di un bug.
Un fix temporaneo:
cerchi in /include/business_logic.php la riga

value_locked_record varchar(255) NOT NULL,

e la sostituisca con

value_locked_record varchar(100) NOT NULL,

l'errore dovrebbe sparire. La versione 4.5 finale conterra' il fix definitivo.
 

eugenio

Administrator
Staff member
allora proviamo a risolvere il problema alla radice,

provi a togliere la riga

UNIQUE (table_locked_record,pk_locked_record,value_locked_record)
 

alonzo

Well-known member
Fatto anche questo, ...e continua con lo stesso errore.
Purtroppo io non sono un programmatore ed il tempo corre veloce, così ho convertito la tabella del database in ascii_general_ci, ed ho proseguito con l'installazione.
Subito dopo però ho notato un altro piccolo errore (www.aslromag.info/canili).
Appena inseriti user e pass (canonici) si nota la mancanza di uno Slash (/) nella barra degli indirizzi...
 

eugenio

Administrator
Staff member
Errore mio, ti ho dato le istruzioni per sqlite, mentre tu stai usando mysql.

La parte da rimuovere e' questa

$index_name = 'record_index';
$index_fields = 'table_locked_record,pk_locked_record,value_locked_record';
$options_ar[0] = 'UNIQUE';
create_index_db ($conn, $data_dictionary, $prefix_internal_table."locked_records", $index_name, $index_fields, $options_ar);

Per quanto riguarda lo slash probabilmente hai sbagliato a indicare il $site_url in config.php e non hai messo lo slash finale.
 

alonzo

Well-known member
Ok, tutto fatto.
Oltre l'errore di distrazione nel config, ho di nuovo riconvertito campi e tabelle ad UTF8 e modificato il business_logic.
Ora funziona tutto.
Nota bene però che ho dovuto limitare a 133 il campo "value_locked_record" della tabella dadabik_locked_records, altrimenti non l'avrebbe convertita.
Ciao e grazie
 

eugenio

Administrator
Staff member
Bene.
Attenzione all'uso di UTF-8 pero', DaDaBIK non lo supporta propriamente; alcuni dettagli qua http://www.dadabik.org/forum/read.php?1,15154
 
Top