Christian Kruse: Postgresql Migrationsprobleme

Beitrag lesen

Moin Tobi,

ich möchte eine Beispiel-DB in Postgresql installieren. Das Beispiel habe ich aus dem Netz. Aber Postgresql mag es wohl nicht.

Du musst, wenn du Schemata verwendest, entweder das Schema im search\_path eintragen oder die Tabellen inkl. Schema-Namen referenzieren. Ich habe dir das SQL mal korrigiert, achte auf die Unterschiede:

  
CREATE SCHEMA uni;  
CREATE TABLE uni.Studenten  
       (MatrNr         INTEGER PRIMARY KEY,  
        Name           VARCHAR(30) NOT NULL,  
        Semester       INTEGER);  
  
CREATE TABLE uni.Professoren  
       (PersNr         INTEGER PRIMARY KEY,  
        Name           VARCHAR(30) NOT NULL,  
        Rang           CHAR(2) CHECK (Rang in ('C2', 'C3', 'C4')),  
        Raum           INTEGER UNIQUE);  
  
CREATE TABLE uni.Assistenten  
       (PersNr         INTEGER PRIMARY KEY,  
        Name           VARCHAR(30) NOT NULL,  
        Fachgebiet     VARCHAR(30),  
        Boss           INTEGER,  
        FOREIGN KEY    (Boss) REFERENCES uni.Professoren);  
  
CREATE TABLE uni.Vorlesungen  
       (VorlNr         INTEGER PRIMARY KEY,  
        Titel          VARCHAR(30),  
        SWS            INTEGER,  
        gelesenVon     INTEGER REFERENCES uni.Professoren);  
  
CREATE TABLE uni.hoeren  
       (MatrNr         INTEGER REFERENCES uni.Studenten ON DELETE CASCADE,  
        VorlNr         INTEGER REFERENCES uni.Vorlesungen ON DELETE CASCADE,  
        PRIMARY KEY    (MatrNr, VorlNr));  
  
CREATE TABLE uni.voraussetzen  
       (Vorgaenger     INTEGER REFERENCES uni.Vorlesungen ON DELETE CASCADE,  
        Nachfolger     INTEGER REFERENCES uni.Vorlesungen ON DELETE CASCADE,  
        PRIMARY KEY    (Vorgaenger, Nachfolger));  
  
CREATE TABLE uni.pruefen  
       (MatrNr         INTEGER REFERENCES uni.Studenten ON DELETE CASCADE,  
        VorlNr         INTEGER REFERENCES uni.Vorlesungen,  
        PersNr         INTEGER REFERENCES uni.Professoren,  
        Note           NUMERIC(2,1) CHECK (Note between 0.7 and 5.0),  
        PRIMARY KEY    (MatrNr, VorlNr));  

LG,
 CK