Ich nutze hier PowerDNS mit MySQL. Das Datenbankschema ist hier gleich und es funktioniert einwandfrei. Würde mich wundern, wenn hier ein kaputtes Schema vorläge.
Ich vermute, PowerDNS nutzt hier zur Zuordnung der Kommentare domain_id, name und type sowie eine Enumeration im Falle mehrerer gleicher Records. (Würde ich selbst so zwar nicht machen. Plausible Gründe, dass so umzusetzen, kann ich aber sehen. Ansonsten kann ich mit Bert Hubert in Sachen Programmierkompetenz vermutlich
nicht so ganz mithalten.)
So sieht das bei mir in der Tabelle aus:
Code: Alles auswählen
MariaDB [pdns]> select * from records where domain_id=2 and type="TXT" and name = "mydomain.de";
+--------+-----------+-------------+------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+------+-------------+----------+-----------+------+
| id | domain_id | name | type | content | ttl | prio | change_date | disabled | ordername | auth |
+--------+-----------+-------------+------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+------+-------------+----------+-----------+------+
| 202094 | 2 | mydomain.de | TXT | "google-site-verification=0000000000000000000000000000000000000000000" | 86400 | 0 | NULL | 0 | NULL | 1 |
| 202095 | 2 | mydomain.de | TXT | "v=spf1 ....." | 86400 | 0 | NULL | 0 | NULL | 1 |
| 202096 | 2 | mydomain.de | TXT | "zone-ownership-verification-0000000000000000000000000000000000000000000000000000000000000000" | 86400 | 0 | NULL | 0 | NULL | 1 |
+--------+-----------+-------------+------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+------+-------------+----------+-----------+------+
3 rows in set (0,002 sec)
MariaDB [pdns]> select * from comments where name = "mydomain.de";
+----+-----------+-------------+------+-------------+---------+---------------------------+
| id | domain_id | name | type | modified_at | account | comment |
+----+-----------+-------------+------+-------------+---------+---------------------------+
| 37 | 2 | mydomain.de | TXT | 1740562524 | | Das ist der Google-Verify |
| 38 | 2 | mydomain.de | TXT | 1740562524 | | Das ist ein SPF-Record |
| 39 | 2 | mydomain.de | TXT | 1740562524 | | |
+----+-----------+-------------+------+-------------+---------+---------------------------+
3 rows in set (0,001 sec)
Einfachste Möglichkeit der Zuordnung ist, dass er die Reihenfolge von records.id übernimmt und auf die Position innerhalb der Reihenfolge vom entsprechenden Satz in der comments Tabelle zuordnet.
Die obigen Daten habe ich angelegt mit meiner Management-GUI (PowerDNS-Admin).
Was konkret funktioniert denn nicht? Wie sehen die Daten in Deiner DB zu den entsprechenden Records aus? Zeige die doch mal analog zu dem, was ich hier aufgelistet habe.
P. S.: Hier noch meine Tabellendefinitionen:
Code: Alles auswählen
MariaDB [pdns]> describe records;
+-------------+----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+----------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| domain_id | int(11) | YES | MUL | NULL | |
| name | varchar(255) | YES | MUL | NULL | |
| type | varchar(10) | YES | | NULL | |
| content | varchar(64000) | YES | | NULL | |
| ttl | int(11) | YES | | NULL | |
| prio | int(11) | YES | | NULL | |
| change_date | int(11) | YES | | NULL | |
| disabled | tinyint(1) | YES | | 0 | |
| ordername | varchar(255) | YES | MUL | NULL | |
| auth | tinyint(1) | YES | | 1 | |
+-------------+----------------+------+-----+---------+----------------+
11 rows in set (0,002 sec)
MariaDB [pdns]> describe comments;
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| domain_id | int(11) | NO | MUL | NULL | |
| name | varchar(255) | NO | MUL | NULL | |
| type | varchar(10) | NO | | NULL | |
| modified_at | int(11) | NO | | NULL | |
| account | varchar(40) | YES | | NULL | |
| comment | text | NO | | NULL | |
+-------------+--------------+------+-----+---------+----------------+
7 rows in set (0,001 sec)