]> Frank Brehm's Git Trees - pixelpark/admin-tools.git/commitdiff
Bugfixing
authorFrank Brehm <frank.brehm@pixelpark.com>
Thu, 27 Jul 2017 14:11:03 +0000 (16:11 +0200)
committerFrank Brehm <frank.brehm@pixelpark.com>
Thu, 27 Jul 2017 14:11:03 +0000 (16:11 +0200)
db/create-poweradmin-db-postgresql.sql
pp_lib/import_pdnsdata.py

index 78264ae44ea35ffd803bb6840612b9d72df60f14..422c3f5a3e069d68d7c38067f00181ac136b4e71 100644 (file)
@@ -165,10 +165,9 @@ CREATE TABLE zones (
   domain_id    integer default 0,
   owner                integer default 0,
   comment      text,
-  zone_templ_id        integer NOT NULL,
+  zone_templ_id        integer NOT NULL default 0,
   FOREIGN KEY(domain_id) REFERENCES domains(id),
-  FOREIGN KEY(owner) REFERENCES users(id),
-  FOREIGN KEY(zone_templ_id) REFERENCES zone_templ(id)
+  FOREIGN KEY(owner) REFERENCES users(id)
 );
 
 CREATE INDEX zone_domain_owner ON zones(domain_id, owner);
index db6f0ac74993c6b54c468cd3c42a5dba738824fa..c9ae4623f39b9dcae406c00715ceff6d3b07ec27 100644 (file)
@@ -30,7 +30,7 @@ from .common import pp, to_bool
 
 from .cfg_app import PpCfgAppError, PpConfigApplication
 
-__version__ = '0.7.4'
+__version__ = '0.7.5'
 LOG = logging.getLogger(__name__)
 
 # =============================================================================
@@ -495,7 +495,6 @@ class ImportPdnsdataApp(PpConfigApplication):
             'supermasters', 'tsigkeys', 'domains',
         ]
         if self.tgt_db_is_poweradmin:
-            tables.insert(0, 'perm_templ_items')
             tables.insert(0, 'zone_templ')
             tables.insert(0, 'zone_templ_records')
             tables.insert(0, 'zones')
@@ -505,7 +504,6 @@ class ImportPdnsdataApp(PpConfigApplication):
             'domains_id_seq', 'records_id_seq', 'tsigkeys_id_seq',
         ]
         if self.tgt_db_is_poweradmin:
-            sequences.append('perm_templ_items_id_seq')
             sequences.append('zone_templ_id_seq')
 
         LOG.info("Truncating all tables in target database ...")
@@ -522,6 +520,14 @@ class ImportPdnsdataApp(PpConfigApplication):
                     tgt_cursor.execute(sql)
 
             if self.tgt_db_is_poweradmin:
+
+                LOG.debug("Truncating table 'perm_templ_items' ...")
+                sql = "DELETE FROM perm_templ_items WHERE templ_id != 1"
+                if self.verbose > 1:
+                    LOG.debug("SQL: {}".format(sql))
+                if not self.simulate:
+                    tgt_cursor.execute(sql)
+
                 LOG.debug("Truncating table 'users' ...")
                 sql = 'DELETE FROM users WHERE id > 1'
                 if self.verbose > 1: