From 6d7ac4aa978914e8e9e274f813f3aa4a9396a2fa Mon Sep 17 00:00:00 2001 From: Constantin Michael Date: Thu, 7 Jul 2011 15:00:58 +0200 Subject: Add CASCADE to PostgreSQL DROP TABLE statements --- odb/relational/pgsql/schema.cxx | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/odb/relational/pgsql/schema.cxx b/odb/relational/pgsql/schema.cxx index 2e4981f..de4d507 100644 --- a/odb/relational/pgsql/schema.cxx +++ b/odb/relational/pgsql/schema.cxx @@ -17,6 +17,32 @@ namespace relational namespace relational = relational::schema; // + // Drop. + // + + struct drop_common: virtual relational::drop_common + { + virtual void + drop_table (string const& table) + { + os << "DROP TABLE IF EXISTS " << quote_id (table) << " CASCADE" + << endl; + } + }; + + struct member_drop: relational::member_drop, drop_common + { + member_drop (base const& x): base (x) {} + }; + entry member_drop_; + + struct class_drop: relational::class_drop, drop_common + { + class_drop (base const& x): base (x) {} + }; + entry class_drop_; + + // // Create. // -- cgit v1.1