epgd SQL-Error unknown column

  • Hallo,


    nach längerer Zeit habe ich mal wieder die überfälligen updates per "apt-get update" / "apt-get dost-upgrade" eingespielt.


    Leider tut seitdem eepgd nicht mehr was es soll. So wie es aussieht gabs da wohl ein Problem beim Update der Datenbank:

    syslog.1:Aug 7 07:40:59 VDR epgd: Calling mysql_init(1850)

    syslog.1:Aug 7 07:40:59 VDR epgd: SQL-Error in 'prepare(stmt_prepare)' - Unknown column 'id' in 'field list' (1054) 'Unknown column 'id' in 'field list'' [select _starttime, action, active, autotimerid, autotimerinssp, autotimername, aux, channelid, childlock, day, directory, doneid, endtime, eventid, expression, file, id, info, inssp, lifetime, namingmode, priority, retrys, source, starttime, state, tccmailcnt, template, type, updsp, vdruuid, vps, weekdays, wrncount from timers where id = ? and vdruuid = ?;]

    syslog.1:Aug 7 07:40:59 VDR epgd: Retry #48 failed, retrying in 60 seconds!

    syslog.1:Aug 7 07:40:59 VDR epgd: Closing mysql connection and calling mysql_thread_end(1850)


    Edit: Kein Wunder, die Spalte ID existiert in der Tat nicht...




    Wie bekomme ich das ganze jetzt wieder in einen lauffähigen Zustand?



    Danke!

    yavdr 0.6: Gigabyte GA H61M, Pentium 645, 4GB RAM, 1x3 TB, 1x64 GB SSD, 1x CineS2 V6, 1x Hauppauge S2-1600 , Nvidia GF210

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von warhammer ()

  • stop vdr

    stop epgd

    -> ps und grep sagen beides ist gestoppt

    start epgd


    Liefert immer noch die selben Fehlermeldungen.


    Wenn ich mir die Ausgabe so ansehe, dann scheint er ja die Spalte hinzufügen zu wollen, kommt damit aber nicht zum Ziel.

    yavdr 0.6: Gigabyte GA H61M, Pentium 645, 4GB RAM, 1x3 TB, 1x64 GB SSD, 1x CineS2 V6, 1x Hauppauge S2-1600 , Nvidia GF210

  • Heisst aktuell ist keine Spalte Auto-Increment.

    Das Problem ist wohl auch eher das eine Auto-Increment Spalte Teil des Primary Keys sein muss.

    Damit fehlt beim "alter table timers add column id INT(11) unsigned not null auto_increment" wohl das PRIMARY_KEY.

    Allerdings gibt es ja nun schon drei Spalten die zusammen den PK ergeben...




    Die Spalten die er als überflüssig angibt sind aber alle in einer anderen Tabelle (events). Da ich nicht weiss wie da die Abhängigkeiten zu irgendwelchen scrapern sind habe ich die bisher nicht gelöscht.

    yavdr 0.6: Gigabyte GA H61M, Pentium 645, 4GB RAM, 1x3 TB, 1x64 GB SSD, 1x CineS2 V6, 1x Hauppauge S2-1600 , Nvidia GF210

  • Bei mir sieht es so aus:

    Ich denke auch, dass der Befehl dann so nicht klappt. Ich nehme mal an, dass du mehrere Versionen übersprungen hast.. Vlt passt du die Tabelle jetzt mal ensprechend manuell an

  • So,

    mittels

    Code
    1. alter table timers drop primary key;
    2. alter table timers add column id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
    3. alter table timers drop key `idxeventidchannelidvdruuid`;
    4. alter table timers add KEY `idxeventidchannelidvdruuid` (`eventid`,`channelid`,`vdruuid`);
    5. alter table timers drop key `idxvdruuidstate`;
    6. alter table timers add KEY `idxvdruuidstate` (`vdruuid`,`state`);
    7. alter table timers drop key `idxupdsp`;
    8. alter table timers add KEY `idxupdsp` (`updsp`);


    passt die Tabelle nun wieder soweit das er epgd sich nicht mehr beschwert.

    yavdr 0.6: Gigabyte GA H61M, Pentium 645, 4GB RAM, 1x3 TB, 1x64 GB SSD, 1x CineS2 V6, 1x Hauppauge S2-1600 , Nvidia GF210