added ON {DELETE,UPDATE} CASCADE to foreign key constraints
authorIan Beckwith <ianb@erislabs.net>
Sun, 26 Sep 2010 09:26:27 +0000 (10:26 +0100)
committerIan Beckwith <ianb@erislabs.net>
Sun, 26 Sep 2010 09:26:27 +0000 (10:26 +0100)
lib/ID3FS/DB.pm

index 0c344d9..a523033 100644 (file)
@@ -583,13 +583,13 @@ CREATE TABLE albums (
 
 CREATE TABLE files (
     id INTEGER PRIMARY KEY,
+    name text,
     artists_id,
     albums_id,
     paths_id,
-    name text,
-    FOREIGN KEY(artists_id) REFERENCES artists(id),
-    FOREIGN KEY(albums_id)  REFERENCES albums(id),
-    FOREIGN KEY(paths_id)   REFERENCES paths(id)
+    FOREIGN KEY(artists_id) REFERENCES artists(id) ON DELETE CASCADE ON UPDATE CASCADE,
+    FOREIGN KEY(albums_id)  REFERENCES albums(id)  ON DELETE CASCADE ON UPDATE CASCADE,
+    FOREIGN KEY(paths_id)   REFERENCES paths(id)   ON DELETE CASCADE ON UPDATE CASCADE
 );
 
 CREATE TABLE tags (
@@ -605,13 +605,13 @@ CREATE TABLE tagvals (
 CREATE TABLE files_x_tags (
     files_id INTEGER,
     tags_id INTEGER,
-    FOREIGN KEY(files_id) REFERENCES files(id),
-    FOREIGN KEY(tags_id) REFERENCES tags(id)
+    FOREIGN KEY(files_id) REFERENCES files(id) ON DELETE CASCADE ON UPDATE CASCADE,
+    FOREIGN KEY(tags_id)  REFERENCES tags(id)  ON DELETE CASCADE ON UPDATE CASCADE
 );
 
 CREATE TABLE tags_x_tagvals (
     tags_id INTEGER,
     tagvals_id INTEGER,
-    FOREIGN KEY(tags_id) REFERENCES tags(id),
-    FOREIGN KEY(tagvals_id) REFERENCES tagvals(id)
+    FOREIGN KEY(tags_id) REFERENCES tags(id) ON DELETE CASCADE ON UPDATE CASCADE,
+    FOREIGN KEY(tagvals_id) REFERENCES tagvals(id) ON DELETE CASCADE ON UPDATE CASCADE
 );