From: Pat G. <pat...@bi...> - 2011-04-17 00:57:26
|
I have just migrated from a very early version of phpwiki to the very latest. I have got the wiki up and working but a soon as I try and edit the main page I get the following error: Fatal Error: lib/WikiDB/backend/PearDB.php:1061 Error[256]: WikiDB_backend_PearDB_pgsql: fatal database error * DB Error: constraint violation * (DELETE FROM version WHERE id=98 AND version=1 [nativecode=ERROR: update or delete on table "version" violates foreign key constraint "recent_id_fkey1" on table "recent" * DETAIL: Key (id,version)=(98,1) is still referenced from table "recent".]) Here is the database setup for each of the tables: phpwiki=# \d recent Table "public.recent" Column | Type | Modifiers ---------------+---------+----------- id | integer | latestversion | integer | latestmajor | integer | latestminor | integer | Indexes: "recent_id_idx" UNIQUE, btree (id) "recent_lv_idx" btree (latestversion) Check constraints: "recent_check" CHECK (latestminor >= latestmajor) Foreign-key constraints: "recent_id_fkey" FOREIGN KEY (id) REFERENCES page(id) "recent_id_fkey1" FOREIGN KEY (id, latestversion) REFERENCES version(id, version) phpwiki=# phpwiki=# \d page Table "public.page" Column | Type | Modifiers -------------+------------------------+--------------------------------------------------- id | integer | not null default nextval('page_id_seq'::regclass) pagename | character varying(100) | not null hits | integer | not null default 0 pagedata | text | not null default ''::text cached_html | text | default ''::text Indexes: "page_pkey" PRIMARY KEY, btree (id) "page_pagename_key" UNIQUE, btree (pagename) Check constraints: "page_pagename_check" CHECK (pagename::text <> ''::text) Referenced by: TABLE "link" CONSTRAINT "link_linkfrom_fkey" FOREIGN KEY (linkfrom) REFERENCES page(id) TABLE "link" CONSTRAINT "link_linkto_fkey" FOREIGN KEY (linkto) REFERENCES page(id) TABLE "nonempty" CONSTRAINT "nonempty_id_fkey" FOREIGN KEY (id) REFERENCES page(id) TABLE "pagedata" CONSTRAINT "pagedata_id_fkey" FOREIGN KEY (id) REFERENCES page(id) TABLE "pageperm" CONSTRAINT "pageperm_id_fkey" FOREIGN KEY (id) REFERENCES page(id) TABLE "rating" CONSTRAINT "rating_rateepage_fkey" FOREIGN KEY (rateepage) REFERENCES page(id) TABLE "rating" CONSTRAINT "rating_raterpage_fkey" FOREIGN KEY (raterpage) REFERENCES page(id) TABLE "recent" CONSTRAINT "recent_id_fkey" FOREIGN KEY (id) REFERENCES page(id) TABLE "version" CONSTRAINT "version_id_fkey" FOREIGN KEY (id) REFERENCES page(id) I manually went into the postgres database phpwiki and removed the entry id 98 from table recent and was able to edit the home page. However once saved another edit fails with the same error. Is this a schema error or am I using an incorrect procedure? I am using postgres on Ubuntu 10.10. Any help would be most appreciated. Thanks, Pat |