Päivitin uuteen versioon, mutta nyt tulee tämmöistä virhettä:
Query 'DELETE FROM vllasku_session WHERE session_timestamp<'2015-12-26 14:18:27'' failed: (1146) Table 'vllasku.vllasku_session' doesn't exist
Sat Dec 26 14:44:47.919370 2015] [:error] [pid 42212] [client XX.XX.XXX.XXXX:54095] Query 'DELETE FROM vllasku_session WHERE session_timestamp<'2015-12-26 14:20:47'' failed: (1146) Table 'vllasku.vllasku_session' doesn't exist
Ja sama homma, vaikka tein uuden tietokannan ja ajoin sinne tuon create_database.sql:n ja laitoin configiin uudet tiedot, eli en saa puhdasta asennastakaan nyt toimimaan.
https://dl.dropboxusercontent.com/u/2795496/Share/ssp_temp_capture%20copy.jpg
Olisiko mitään vinkkiä?
Osx Server 5
mysqlnd 5.0.11-dev - 20120503
Apache API Version 20120211
Eiku joo, mulla oli toi vanha vllasku etuliite tossa vielä... tutkitaas...
Eteenpäin päästiin, mutta nyt:
[Sat Dec 26 15:06:11.633330 2015] [:error] [pid 65144] [client XXXXXXX:54353] Database upgrade query failed. Please execute the following queries manually:\\n\\nUPDATE mlinvoice_invoice_row ir SET ir.row_date=(SELECT i.invoice_date FROM mlinvoice_invoice i where i.id=ir.invoice_id) WHERE ir.row_date IS NULL\\nREPLACE INTO mlinvoice_state (id, data) VALUES ('version', '38')\\nALTER TABLE mlinvoice_invoice_row ADD COLUMN partial_payment tinyint NOT NULL default 0\\nREPLACE INTO mlinvoice_state (id, data) VALUES ('version', '39')\\nUPDATE mlinvoice_invoice_state SET invoice_unpaid=1 WHERE id=1\\nREPLACE INTO mlinvoice_state (id, data) VALUES ('version', '40')\\n
Kuinka teen tämän?
Tämmöstä virhettä antaa phpmyadmin kun ajaa tuon käsin:
Error
There seems to be an error in your SQL query. The MySQL server error output below, if there is any, may also help you in diagnosing the problem.
ERROR: Unknown Punctuation String @ 1
STR: \\
SQL: \\n\\nALTER TABLE mlinvoice_invoice_row ADD COLUMN partial_payment tinyint NOT NULL default 0\\nREPLACE INTO mlinvoice_state (id, data) VALUES ('version', '39')\\nUPDATE mlinvoice_invoice_state SET invoice_unpaid=1 WHERE id=1\\nREPLACE INTO mlinvoice_state (id, data) VALUES ('version', '40')\\n
Tai sitten jos opistaa noita kenoviivoja, mitkä maallikon silmiin näyttää vähän hämäriltä, niin:
#1064 - 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 '\\n\\nALTER TABLE mlinvoice_invoice_row ADD COLUMN partial_payment tinyint NOT N' at line 1
ALTER TABLE mlinvoice_invoice_row ADD COLUMN partial_payment tinyint NOT NULL default 0 REPLACE INTO mlinvoice_state (id, data) VALUES ('version', '39')UPDATE mlinvoice_invoice_state SET invoice_unpaid=1 WHERE id=1 REPLACE INTO mlinvoice_state (id, data) VALUES ('version', '40')
Okei, virheilmoituksessa on häikkää, ei pitäisi tulla noita \n-merkkejä (rivinvaihto), vaan joko niin, että jokainen lauseke ajetaan yksitellen tai korvataan \n puolipisteellä. Eli tähän tyyliin:
ALTER TABLE mlinvoice_invoice_row ADD COLUMN partial_payment tinyint NOT NULL default 0;
REPLACE INTO mlinvoice_state (id, data) VALUES ('version', '39');
Päivitysvirhe voi johtua esim. siitä, ettei MySQL-käyttäjätunnuksella ole riittäviä oikeuksia tehdä muutoksia. Kannattaa tarkistaa ensin, niin välttyy jatkossa käsityöltä. Laitan korjaukseen tuon virheilmoituksen sisällön, ettei sitä tarvitsisi itse säätää.
--Ere