#1 2013-05-20 11:51:14

jp007
Člen
Registrován: 2013-02-27
Příspěvky: 163

Re: [Vyřešeno] SQLite3 - problém s cizími klíči

Zdravím, je možné, že se při aktualizaci serverů na PHP 5.4 nějak rozbila podpora SQLite3 databází? Přijde mi, že to v poslední době nefunguje správně, především při práci s cizími klíči. Failuje mi kvůli tomu jedna nová aplikace, jinou aplikaci jsem kvůli tomu musel přemigrovat na MySQL, protože jsem to nedokázal vyřešit a potřeboval jsem jí rychle rozběhnout.

Příklad:
Framework, který používám při tvorbě webů, používá pro získání informací o cizích klíčích příkaz PRAGMA foreign_key_list(TABLE_NAME);

Na lokálu mi vrací tento dotaz následující tabulku:

id | seq | table    | from        | to | on_update | on_delete | match
---+-----+----------+-------------+----+-----------+-----------+------
0  | 0   | photo    | photo_id    | id | NO ACTION | NO ACTION | NONE
1  | 0   | category | category_id | id | NO ACTION | NO ACTION | NONE

Pokud ale stejný příkaz na stejné databázi spustím na serveru, dostanu následující výsledek:

id | seq | table      | from        | to
---+-----+------------+-------------+----
0  | 0   | "photo"    | photo_id    | id
1  | 0   | "category" | category_id | id

Tj. chybí tam sloupce on_update, on_delete a match, navíc jsou názvy tabulek ve sloupci table uzavřeny v uvozovkách. Právě na neexistenci sloupců on_update a on_delete mi padá aplikace.

Je to nějaká chyba v SQLite, nebo je to správné chování?

PS. Nevěděl jsem do které kategorie tento topic zařadit, nepřišlo mi vhodné zařadit to do "Problémy s MySQL", případně prosím moderátory/adminy, aby to v případě potřeby přesunuli do jiné vhodnější kategorie. Dík.

PS2. účet j******a, problém na všech doménách, které mám přiřazené k účtu.

Upravil jp007 (2013-06-03 07:49:25)

Offline

#2 2013-05-22 12:42:53

jp007
Člen
Registrován: 2013-02-27
Příspěvky: 163

Re: [Vyřešeno] SQLite3 - problém s cizími klíči

Nikdo nic? sad

Offline

#3 2013-05-24 11:16:59

jp007
Člen
Registrován: 2013-02-27
Příspěvky: 163

Re: [Vyřešeno] SQLite3 - problém s cizími klíči

Taky ještě SQLite křičí, pokud jako operaci pro cizí klíč (pro ON DELETE a ON UPDATE) uvedu NO ACTION. Na lokálu mi to funguje, na Endoře mi SQLite umře na syntax error, protože prý NO ACTION nezná.

Nevěděl by někdo co s tím?

Upravil jp007 (2013-05-24 11:17:26)

Offline

#4 2013-05-24 13:25:11

JF
Endora rádce
Místo: ....nice u Plzně
Registrován: 2010-06-22
Příspěvky: 11,941

Re: [Vyřešeno] SQLite3 - problém s cizími klíči

Ak nikto neodpovedá, tak zrejme nikto s týmto nemá skúsenosť, prípadne s tým nepracuje. To samé je i z mojej strany, s SQLite som nikdy nepracoval a netuším ako funguje.


Ján Fačkovec - Endora.cz by Webglobe
Email, Web, Webadmin, Webmail, Nápověda, Ceník

Offline

#5 2013-05-25 07:52:05

jp007
Člen
Registrován: 2013-02-27
Příspěvky: 163

Re: [Vyřešeno] SQLite3 - problém s cizími klíči

Možná bude problém v zastaralé verzi SQLite3.

Má verze na localhostu: 3.7.9
Verze na Endoře na serveru 2 ("zajicek"): 3.3.6 (na tomto serveru mám účet)

Pro zajímavost verze na ostatních serverech Endory:
Verze na Endoře na serveru 1: 3.3.6
Verze na Endoře na serveru 3: 3.3.6
Verze na Endoře na serveru 4: 3.3.6
Verze na Endoře na serveru 5: 3.6.20
Verze na Endoře na serveru 6: 3.6.20
Verze na Endoře na serveru 7: 3.6.20
Verze na Endoře na serveru 8: 3.6.20

Verze 3.3.6 byla vydána dne 2006-06-06, verze 3.6.20 dne 2009-11-04 a moje verze dne 2011-11-01.


Když kouknu na přehled změn u SQLite (http://www.sqlite.org/changes.html) tak až u verze 3.6.19 (vydána 2009-10-14) je poznamenáno "Added support for foreign key constraints. Foreign key constraints are disabled by default. Use the foreign_keys pragma to turn them on."

Nešlo by to SQLite na serverech Endory zaktualizovat (alespoň na serverech 1-4)? Nevidím smysl mít na serverech 7 let starou verzi SQLite.

Upravil jp007 (2013-09-28 12:51:04)

Offline

Zápatí

Založeno na FluxBB | CZ a SK