Witam,
Mam problem przy aktualizacji LMSa opartego na MySQLu.
Prawdopodobnie związane jest to z przestarzała wersją ale proszę o potwierdzenie.

Spróbowałem więc założyć nową czystą bazę danych LMSa i przy wykonaniu skryptu lms.mysql w miejscu:

CREATE TABLE assignments (
  id int(11) NOT NULL auto_increment,
  tariffid int(11) NOT NULL DEFAULT '0',
  liabilityid int(11) NOT NULL DEFAULT '0',
  customerid int(11) NOT NULL,
  period smallint NOT NULL DEFAULT '0',
  at int(11) NOT NULL DEFAULT '0',
  datefrom int(11) NOT NULL DEFAULT '0',
  dateto int(11) NOT NULL DEFAULT '0',
  invoice tinyint(1) NOT NULL DEFAULT '0',
  suspended tinyint(1) NOT NULL DEFAULT '0',
  settlement tinyint(1) NOT NULL DEFAULT '0',
  pdiscount decimal(4,2) NOT NULL DEFAULT '0',
  vdiscount decimal(9,2) NOT NULL DEFAULT '0',
  paytype smallint DEFAULT NULL,
  numberplanid int(11) DEFAULT NULL,
  PRIMARY KEY (id),
  FOREIGN KEY customerid REFERENCES customers (id) ON DELETE CASCADE ON UPDATE CASCADE,
  FOREIGN KEY numberplainid REFERENCES numberplans (id) ON DELETE SET NULL ON UPDATE CASCADE,
  INDEX tariffid (tariffid),
  INDEX customerid (customerid),
  INDEX numberplanid (numberplanid),
) ENGINE=InnoDB;


wywala błąd:

ERROR 1064 (42000) at line 200: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'REFERENCES customers (id) ON DELETE CASCADE ON UPDATE CASCADE,   FOREIGN KEY num' at line 18

Wygląda tak jak by składnia nie była zrozumiana dla BD.

Wersja serwera MySQL:      5.5.47-0+deb7u1-log
Debian 7.0 wheezy - ostatnia dostępna aktualizacja z repozytoriów.

Trzeba nowszego MySQLa?
Bazę zakładałem z wersji lmsa z GITa z marca 2013 roku czyli całkiem sporo czasu temu.



-- 
Pozdrawiam,
/Marek M/

http://www.wieszowanet.pl