londiste: "on delete cascade" fkeys for tables
authorMarko Kreen <markokr@gmail.com>
Tue, 12 Oct 2010 13:26:04 +0000 (16:26 +0300)
committerMarko Kreen <markokr@gmail.com>
Tue, 12 Oct 2010 13:26:04 +0000 (16:26 +0300)
this avoids need to write cleanup code

sql/londiste/structure/tables.sql

index d5e5142e1258a5698a1bda917fd7da476bd60428..020acaa6ed454c251dc0606f0ad7c6b3bb598855 100644 (file)
@@ -96,7 +96,9 @@ create table londiste.table_info (
     table_attrs         text,
 
     primary key (queue_name, table_name),
-    foreign key (queue_name) references pgq_node.node_info (queue_name),
+    foreign key (queue_name)
+      references pgq_node.node_info (queue_name)
+      on delete cascade,
     check (dropped_ddl is null or merge_state = 'in-copy')
 );
 
@@ -121,7 +123,9 @@ create table londiste.seq_info (
     last_value          int8 not null,
 
     primary key (queue_name, seq_name),
-    foreign key (queue_name) references pgq_node.node_info (queue_name)
+    foreign key (queue_name)
+      references pgq_node.node_info (queue_name)
+      on delete cascade
 );
 
 
@@ -141,7 +145,10 @@ create table londiste.applied_execute (
     execute_file        text not null,
     execute_time        timestamptz not null default now(),
     execute_sql         text not null,
-    primary key (queue_name, execute_file)
+    primary key (queue_name, execute_file),
+    foreign key (queue_name)
+      references pgq_node.node_info (queue_name)
+      on delete cascade
 );