Index: modules/aggregator/aggregator.install =================================================================== RCS file: /cvs/drupal/drupal/modules/aggregator/aggregator.install,v retrieving revision 1.8 diff -u -p -r1.8 aggregator.install --- modules/aggregator/aggregator.install 26 Sep 2006 14:19:00 -0000 1.8 +++ modules/aggregator/aggregator.install 20 Jan 2007 02:07:49 -0000 @@ -17,18 +17,6 @@ function aggregator_install() { UNIQUE KEY title (title) ) /*!40100 DEFAULT CHARACTER SET UTF8 */ "); - db_query("CREATE TABLE {aggregator_category_feed} ( - fid int NOT NULL default '0', - cid int NOT NULL default '0', - PRIMARY KEY (fid,cid) - ) /*!40100 DEFAULT CHARACTER SET UTF8 */ "); - - db_query("CREATE TABLE {aggregator_category_item} ( - iid int NOT NULL default '0', - cid int NOT NULL default '0', - PRIMARY KEY (iid,cid) - ) /*!40100 DEFAULT CHARACTER SET UTF8 */ "); - db_query("CREATE TABLE {aggregator_feed} ( fid int NOT NULL auto_increment, title varchar(255) NOT NULL default '', @@ -56,7 +44,34 @@ function aggregator_install() { timestamp int default NULL, guid varchar(255), PRIMARY KEY (iid), - KEY fid (fid) + KEY fid (fid), + FOREIGN KEY (fid) + REFERENCES {aggregator_feed} (fid) + ON UPDATE CASCADE ON DELETE CASCADE + ) /*!40100 DEFAULT CHARACTER SET UTF8 */ "); + + db_query("CREATE TABLE {aggregator_category_feed} ( + fid int NOT NULL default '0', + cid int NOT NULL default '0', + PRIMARY KEY (fid,cid), + FOREIGN KEY (fid) + REFERENCES {aggregator_feed} (fid) + ON UPDATE CASCADE ON DELETE CASCADE, + FOREIGN KEY (cid) + REFERENCES {aggregator_category} (cid) + ON UPDATE CASCADE ON DELETE CASCADE + ) /*!40100 DEFAULT CHARACTER SET UTF8 */ "); + + db_query("CREATE TABLE {aggregator_category_item} ( + iid int NOT NULL default '0', + cid int NOT NULL default '0', + PRIMARY KEY (iid,cid), + FOREIGN KEY (iid) + REFERENCES {aggregator_item} (iid) + ON UPDATE CASCADE ON DELETE CASCADE, + FOREIGN KEY (cid) + REFERENCES {aggregator_category} (cid) + ON UPDATE CASCADE ON DELETE CASCADE ) /*!40100 DEFAULT CHARACTER SET UTF8 */ "); break; @@ -74,12 +89,24 @@ function aggregator_install() { fid int NOT NULL default '0', cid int NOT NULL default '0', PRIMARY KEY (fid,cid) + FOREIGN KEY (fid) + REFERENCES {aggregator_feed} (fid) + ON UPDATE CASCADE ON DELETE CASCADE + FOREIGN KEY (cid) + REFERENCES {aggregator_category} (cid) + ON UPDATE CASCADE ON DELETE CASCADE )"); db_query("CREATE TABLE {aggregator_category_item} ( iid int NOT NULL default '0', cid int NOT NULL default '0', PRIMARY KEY (iid,cid) + FOREIGN KEY (iid) + REFERENCES {aggregator_item} (iid) + ON UPDATE CASCADE ON DELETE CASCADE + FOREIGN KEY (cid) + REFERENCES {aggregator_category} (cid) + ON UPDATE CASCADE ON DELETE CASCADE )"); db_query("CREATE TABLE {aggregator_feed} (