S.mon - Database Model

Author:Grzegorz Swiatek
Version:1.6.0
Date:January 2011

Index

acl_owner     attachment_data     component
contract     contract_priority     contract_product
customer     customer_checklist     customer_logo
customer_office     defect     defect_action
defect_attachment     defect_history     defect_memo
defect_route     group_member     hardware_change
info     journaling     last_id
license_data     license_feature     license_feature_name
license_key_pair     mail_exchange     mail_routing
notification     partner     pm_user
product     product_license     product_release
product_team     product_version     reporting
svn_repository     svn_revision     system
ticket_description     user_acl     user_picture
user_preference     user_query    

Tables

Table: acl_owner

Back to Index

In dieser Tabelle werden alle Owners von Access Control List gespeichert. Ein ACL-Owner ist die Person, die ein ACL modifizieren kann.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
acl_idLONG yes yes no Die Kennung des Objektes, fuer welches das ACL gilt (Produkt-, oder Kunden-Identifier).
acl_typeCHAR(1) yes yes no Die Kennung des ACLs. Wir benutzen 'p' fuer 'product' und 'c' fuer 'customer'.
principalUSER yes yes no Die Kennung des Benutzers oder eine Meta-Gruppe. Folgende Meta-Gruppen sind derzeit erlaubt: anonym, engineer und customer.


Table: attachment_data

Back to Index

Beinhaltet die Beilagen zu den Problemen. Die Struktur einer Beilage ist in der Tabelle 'defect_attachment' definiert.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
attachment_idLONG yes yes no Unique Identifier fuer eine Beilage, wie in der Tabelle 'defect_attachment' definiert.
file_dataBLOB no no yes Die eigentlichen Daten der Beilage.


Table: component

Back to Index

Ein Produkt kann mehrere Komponenten haben (Hardware, Software, Dokumentation, ...).

ColumnTypePrimary KeyUniqueNULLDefaultDescription
product_idLONG yes yes no Unique Identifier fuer ein Produkt.
nameVARCHAR(30) yes yes no Der Name der Komponente.
descriptionVARCHAR(40) no no no Eine kurze Beschreibung einer Komponente.


Table: contract

Back to Index

Hier werden die Vertraege mit den Kunden gespeichert.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
idLONG yes yes no Eine eindeutige Kennung fuer einen Vertrag.
nameVARCHAR(60) no no no Name des Vertrages
descriptionVARCHAR(200) no no no Kurze Beschreibung zum Vertrag
customer_idLONG no no no Kennung des Kunden, fuer welchen dieser Vertrag gilt.
created_on_DATE no no no Wann wurde der Vertrag angelegt?
created_byUSER no no no Wer hat diesen Vertrag angelegt?
valid_from_DATE no no no Der Beginn der Gueltigkeit eines Vertrages
valid_until_DATE no no no Das Ende der Gueltigkeit eines Vertrages
has_sla_BOOL no no no 'n'Gibt es Service Level Agreement?
sla_content_typeVARCHAR(60) no no yes Content Type fuer SLA-Dokument
sla_file_nameVARCHAR(120) no no yes Dateiname fuer das SLA-Dokument
sla_dataBLOB no no yes Daten fuer das SLA-Dokument
partner_idLONG no no no -1Kennung fuer den Partner, der fuer die Tickets zustaendig ist (-1: kein Partner).


Table: contract_priority

Back to Index

Hier wird definiert, wie ein Bug mit einer bestimmten Prioritaet zu behandeln (Anzahl von Stunden, die fuer ein Fix benoetigt werden) ist. Diese Settings haben dann eine Auswirkung auf das Datum, wann ein Problem gefixt sein sollte. Zusaetzlich wird angegeben, ob ein sog. Follow Up Problem automatisch erzeugt sein sollte.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
contract_idLONG yes yes no Die Kennung des Vertrages. Ist die Kennung auf '-1' gesetzt, so handelt es sich um einen Default-Wert.
priorityPRIO yes yes no Die Prioritaet eines Problems.
namePRIO_NAME no no no Der Name fuer diese Prioritaet.
descriptionVARCHAR(60) no no no Die Beschreibung der Prioritaet.
fix_hoursINT no no no Maximale Anzahl von Stunden die zur Loesung eines Problems mit dieser Prioritaet gebraucht werden.
work_days_BOOL no no no 'n' Handelt es sich um Arbeitstunden? Wenn ja (auf true gesetzt, dann werden die Feier-, Sonn- und Samstage beruecksichtigt. Ansonsten werden nur Kalendartage beruecksichtigt.
breakable_BOOL no no no 'n' Kann ein Problem mit dieser Prioritaet unterbrochen werden? Wenn ja, dann hat eine Unterbrechung eine Auswirkung auf den Endtermin fuer die Problemloesung. Ansonsten bleibt eine Unterbrechung ohne Auswirkung auf den Endtermin.
follow_up_BOOL no no no 'n' Wenn auf true gesetzt, dann werden follow up Probleme automatisch nach der Loesung eines Problems erzeugt.
follow_up_prioPRIO no no no 0 Prioritaet fuer Follow-Ups.


Table: contract_product

Back to Index

Hier wird gespeichert, welche Produkte fuer einen Vertrag gelten.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
contract_idLONG yes yes no Kennung des Vertrages.
product_idLONG yes yes no Kennung des Produktes.


Table: customer

Back to Index

Beinhaltet Kundeninformationen.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
idLONG yes yes no Eine eindeutige Kennung fuer den Kunden.
nameVARCHAR(20) no yes yes Ein Kurzname fuer den Kunden. Muss eindeutig sein. Wird verwendet, um den Kunden zu identifizieren.
full_nameVARCHAR(120) no no yes Ein vollstaendiger Name des Kunden (z.B. rechtliche Form)
streetVARCHAR(50) no no yes Teil der Adresse (Strasse).
zipVARCHAR(6) no no yes Teil der Adresse (Postleitzahl).
cityVARCHAR(40) no no yes Teil der Adresse (Ort, Stadt).
phonePHONE no no yes Telefonnummer fuer den Kunden.
faxFAX no no yes Faxnummer des Kunden.
urlURL no no yes Home-Page des Kunden.
logo_urlURL no no yes Link fuer das Logo des Kunden.
contact_emailEMAIL no no yes E-Mail der Kontaktperson beim Kunden.
created_on_DATE no no no Wann wurde der Kunde angelegt?
created_byUSER no no no Von wem wurde der Kunde angelegt?
modified_on_DATE no no yes Wann wurden zuletzt die Kundendaten geaendert?
modified_byUSER no no yes Von wem wurden zuletzt die Kundendaten geaendert?


Table: customer_checklist

Back to Index

Hier werden die Check-Listen fuer Produkte in Abhaengikeit von den Kunden gespeichert. Wurde eine Check-Liste fuer das Paar Produkt/Kunde oder fuer einen Kunden (alle Produkte) definiert, dann wird diese automatisch als Vorlage fuer die Problemloesung genommen.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
customer_idLONG yes yes no Die Kennung des Kunden, fuer welchen diese Check-Liste gelten soll.
product_idLONG yes yes no Die Kennung des Produktes. Wenn man als Kennung '-1' verwendet, so handelt es sich hier um einen Default-Wert fuer alle Produkte bei dem Kunden.
checklistTEXT no no yes Eine Check-Liste, die beim der Loesung des Problems beruecksichtigt sein sollte.


Table: customer_logo

Back to Index

Hier werden die Logos der Kunden gespeichert.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
customer_idLONG yes yes no Eindeutige Kennung des Kunden.
content_typeVARCHAR(10) no no no Content-Type fuer das Logo (image/gif, image/jpeg)
logoBLOB no no yes Das Logo.


Table: customer_office

Back to Index

Hier werden die Aufstellungsorte/Offices fuer Kunden in Abhaengikeit vom Produkt gespeichert.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
customer_idLONG yes yes no Die Kennung des Kunden.
product_idLONG yes yes no Die Kennung des Produktes. Wenn man als Kennung '-1' verwendet, so handelt es sich hier um einen Default-Wert fuer alle Produkte bei dem Kunden.
officeVARCHAR(40) yes yes no Office, Aufstellungsort etc.


Table: defect

Back to Index

Tabelle, wo die Defects gespeichert werden.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
ticket_typeSHORT no no no 0 We Support following ticket types: Bug (0), Feature Request (1), Change Request (2), Task (3) and Requirement (4)
idLONG yes yes no Unique Identifier fuer ein Problem. Die Identifiers fuer Defekte werden in der Tabelle 'last_id' mit dem Namen 'defect' assoziert.
titleVARCHAR(120) no no no Titel bzw. Subjekt eines Problems (Defects).
productVARCHAR(40) no no yes Name des Produktes (Programmes etc.), wo dies Problem aufgetretten ist.
product_idLONG no no no Ein unique Identifier fuer das Produkt.
contract_idLONG no no no 0 Eine Kennung fuer den Vertrag (0 Default-Vertrag).
systemVARCHAR(40) no no yes Name des Systems, wo dies Problem aufgetretten ist.
componentVARCHAR(30) no no yes Der Name der Komponente, wo dies Problem aufgetretten ist.
versionVARCHAR(40) no no yes Version des Produktes (Programmes)
officeVARCHAR(40) no no yes Lokalisierung (Ort, Buero, etc.), wo das Problem auftritt.
hardwareVARCHAR(30) no no yes Name der Hardware (PC, Workstation, Router etc.)
op_systemVARCHAR(15) no no yes Betriebssystem (WinXP, Win2000, Linux, Solaris 2.7).
customerVARCHAR(20) no no yes Name des Kunden, bei dem das Problem aufgetretten ist.
customer_idLONG no no yes Unique Identifier fuer den Kunden.
new_on_DATE no no no Wann wurde das Problem im System gespeichert.
new_byUSER no no no Welcher Benutzer hat das Problem gespeichert.
contact1_nameVARCHAR(60) no no yes Name der ersten Kontaktperson
contact1_emailEMAIL no no yes E-Mail Adresse fuer die erste Kontaktperson.
contact1_phonePHONE no no yes Telefonnummer der ersten Kontaktperson
contact1_faxFAX no no yes Faxnummer der ersten Kontaktperson
contact2_nameVARCHAR(60) no no yes Name der zweiten Kontaktperson
contact2_emailEMAIL no no yes E-Mail Adresse fuer die zweite Kontaktperson.
contact2_phonePHONE no no yes Telefonnummer der zweiten Kontaktperson
contact2_faxFAX no no yes Faxnummer der zweiten Kontaktperson
reported_byVARCHAR(32) no no yes Wer hat das Problem gemeldet?
reported_on_DATE no no yes Wann wurde das Problem gemeldet?
stateSTATE no no no 'N' Der aktuelle Zustand des Problems. Folgende Zustaende sind erlaubt: (N)ew, (A)ssigned, (P)ostponed, (O)pened, (F)orwarded, (W)aiting, Forwarded to Next Service (L)evel, (R)esolved, (V)erified und (C)losed.
priorityPRIO no no no 5 Die Prioritaet mit welcher das Problem bearbeitet wird. Werte von 1 (hoechste Prioritaet) bis 9 (niedrigste Prioritaet) sind erlaubt.
priority_namePRIO_NAME no no yes Name der Prioritaet. Die Namen sind konfigurierbar. Die Default-Werte sind: E1 (1), E2 (2), S1 (3), S2 (4), NS (5)
desired_priorityPRIO no no no 5 Die Prioritaet mit welcher es vom Kunden gewuenscht ist das Problem zu behandeln.
desired_priority_namePRIO_NAME no no yes Name der Prioritaet.
desired_fix_on_DATE no no yes Wann sollte das Problem gefixt werden. Dieser Wert wird automatisch berechnet (ergibt sich aus Prioritaet, Kundendaten, SLA, Produktdaten und dem Datum des Meldens).
engineerUSER no no yes Person, die das Problem aktuell bearbeitet
assigned_on_DATE no no yes Wann wurde das Problem jemandem zugewiesen?
assigned_byUSER no no yes Von wem wurde das Problem zugewiesen?
assigned_toUSER no no yes An wen wurde das Problem zugewiesen?
opened_on_DATE no no yes Wann wurde das Problem geoffnet?
postponed_on_DATE no no yes Wann wurde das Problem aufgeschoben?
postponed_byUSER no no yes Von wem wurde das Problem aufgeschoben?
duplicate_ofLONG no no yes Verweist auf das Original-Problem.
resolved_on_DATE no no yes Wann wurde das Problem gefixt?
resolved_byUSER no no yes Von wem wurde das Problem gefixt?
resolutionCHAR(1) no no no 'F' Die Art der Problemloesung. Die moeglichen Werte sind: F: Fixed, I: Invalid, D: Duplicate, W: Works, N: No Fix
closed_on_DATE no no yes Wann wurde das Problem geschlossen?
closed_byUSER no no yes Von wem wurde das Problem geschlossen?
verified_on_DATE no no yes Wann wurde die Loesung des Problems verifiziert?
verified_byUSER no no yes Von wem wurde die Loesung des Problems verifiziert?
modified_on_DATE no no yes Wann wurde das Problem zuletzt modifiziert?
modified_byUSER no no yes Von wem wurde das Problem zuletzt modifiziert?
forwarded_on_DATE no no yes Wann wurde das Problem weitergeleitet?
forwarded_byUSER no no yes Von wem wurde das Problem weitergeleitet?
forwarded_toUSER no no yes An wen wurde das Problem weitergeleitet?
fix_hoursFLOAT no no no 0.0 Stundenaufwand fuer die Loesung (gesamt).
extra_fix_hoursFLOAT no no no 0.0 Extra Stundenaufwand fuer die Loesung (gesamt).
call_timeINT no no no 0 Anrufzeit in Minuten (gesamt, outgoing calls).
break_hoursINT no no no 0 Gesamtunterbrechung in Stunden.
manuf_refVARCHAR(40) no no yes Querverweis zu einem Problem beim Hersteller.
customer_refVARCHAR(40) no no yes Querverweis zu einem Problem beim Kunden.
follow_up_ofLONG no no yes Das aktuelle Problem ist ein Folgeproblem eines anderen, welches durch diese Kennung gekennzeichnet wird.
defect_commentVARCHAR(200) no no yes Ein kleines Kommentar zu dem Problem
reaction_time1INT no no yes Erste Reaktionszeit in Stunden (New -> Assigned)
reaction_time2INT no no yes Zweite Reaktionszeit in Stunden (New -> Opened)
fix_time1INT no no yes Zeit die vom Melden bis zur Loesung benotigt wurde (New -> Resolved)
fix_time2INT no no yes Zeit die vom Melden bis zum Schliessen benotigt wurde (New -> Closed)
severityBYTE no no no 5Die Wichtigkeit: Blocker (1), Critical (2), Major (3), Normal (4), Minor (5)
how_foundVARCHAR(30) no no yes Wie wurde das Problem gefunden (Test, Analyse, ...)
when_foundVARCHAR(30) no no yes In welcher Phase wurde das Problem entdeckt (Analyse, Design, ...)
how_fixedVARCHAR(30) no no yes Wie wurde das Problem gefixt (Code, Konfiguration, ...)
when_fixedVARCHAR(30) no no yes In welcher Phase wurde das Problem gefixt?
first_contact_on_DATE no no yes Wann wurde der Kunde zum ersten Mal vom Techniker kontaktiert?
hide_BOOL no no no 'n' Soll das Problem fuer den Kunden unsichtbar gemacht werden?
ext_ref1VARCHAR(20) no no yes Externe Referenz.
ext_ref2VARCHAR(20) no no yes Externe Referenz.
ext_ref3VARCHAR(20) no no yes Externe Referenz.
ref1LONG no no yes Interne Referenz.
ref2LONG no no yes Interne Referenz.
ref3LONG no no yes Interne Referenz.
sr_numberVARCHAR(8) no no yes
fixed_versionVARCHAR(40) no no yes
verified_versionVARCHAR(40) no no yes
forecast_versionVARCHAR(40) no no yes
technical_primeUSER no no yes
testerUSER no no yes
has_emailBOOL no no yes
replacesLONG no no yes
moved_toLONG no no yes
parent_idLONG no no yes
service_levelSHORT no no no 10: First Level (Partner), 1: Second Level (Service), 2: Third Level (Developer). Workflow will currently support only First and second level.
previous_level_ticket_idLONG no no yes Ticket id for the parent ticket in previous level.
next_level_ticket_idLONG no no yes Ticket if for the associated ticket in the next level.
partner_idLONG no no no -1Ticket if for the associated ticket in the next level.
reasonVARCHAR(250) no no yes The temporary reason for rejection or wait


Table: defect_action

Back to Index

Hier werden die einzelnen Loesungen eines Problems von jeder an der Loesung beteiligten Person gespeichert. Man kann bis zu drei Techniker mitspeichern, die vor Ort ihre Arbeit gemacht haben. Bei den Techniker werden die Namen gespeichert und nicht die S.mon-Accounts, da es davon auszugehen ist, daß nicht jeder Techniker ein Account besitzt.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
idLONG yes yes no Unique Identifier fuer diese Aktion
defect_idLONG no no no Unique Identifier eines Problems fuer welches die Aktion gemacht wurde.
created_on_DATE no no no Wann wurde die Aktion gemacht? Diese Zeit wird automatisch gesetzt und kann nicht geaendert werden.
created_byUSER no no no Won wem wurde die Aktion durchgefuehrt?
fix_hoursFLOAT no no no 0.0 Wie lange hat die Aktion gedauert?
extra_fix_hoursFLOAT no no no 0.0 Extra Stunden fuer die Aktion (z.B. ausserhalb des Wartungsvertrages)
call_timeINT no no no 0 Anrufzeit in Minuten fuer ausgehende Anrufe, die bei der Aktion notwendig waren.
action_infoTEXT no no no Beschreibung der durchgefuehrten Aktion.
on_place_BOOL no no yes War es notwendig vor Ort zu sein?
technician1VARCHAR(60) no no yes Wer war vor Ort?
technician2VARCHAR(60) no no yes Wer war vor Ort?
technician3VARCHAR(60) no no yes Wer war vor Ort?
hw_replaced_BOOL no no yes Wurde Hardware ausgetauscht?
start_on_DATE no no yes Wann wurde die Aktion angefangen?
end_on_DATE no no yes Wann wurde die Aktion beendet?
call_on_DATE no no yes Wann kam der erste Anruf?
call_back_on_DATE no no yes Wann wurde der Kunde zurueckgerufen?
on_site_on_DATE no no yes Wann ist der Techniker vor Ort gewesen?
on_equipment_on_DATE no no yes Wann hat der Techniker den Zugang zum Equipment bekommen?
leaved_on_DATE no no yes Wann hat der Techniker das Ort verlassen?


Table: defect_attachment

Back to Index

Speichert Informationen ueber die Beilagen zu einem Problem. Ein Problem kann beliebig viele Beilagen haben.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
idLONG yes yes no Unique Identifier fuer eine Beilage.
defect_idLONG no no no Zu welchem Problem gehoert diese Beilage?
created_on_DATE no no no Wann wurde diese Beilage gespeichert?
created_byUSER no no no Von wem wurde diese Beilage erzeugt?
file_nameVARCHAR(120) no no yes Name der Datei
file_sizeLONG no no yes Die Dateigroesse in Bytes.
content_typeVARCHAR(60) no no yes Content-Type fuer diese Beilage (text/html, image/gif etc.)
descriptionVARCHAR(250) no no yes Kurze Beschreibung zu einer Beilage


Table: defect_history

Back to Index

Enthaelt die Geschichte eines Problems. Aendert sich der Zustand eines Problems, so wird in der Tabelle alles mitprotokolliert.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
defect_idLONG no no no Identifier fuer das Problem, welches modifiziert wurde.
modified_on_DATE no no no Wann wurde das Problem modifiziert?
modified_byUSER no no no Von wem wurde das Problem modifiziert?
stateSTATE no no yes Zustand des Problems nach der Aenderung.
priorityPRIO no no yes Prioritaet des Problems nach der Aenderung.
priority_namePRIO_NAME no no yes Ein Kuerzel fuer die Prioritaet.
whatVARCHAR(10) no no yes Was wurde geandert (Code der Aenderung)?
what_paraVARCHAR(120) no no yes Ein Parameter (Zusatzinformation) fuer die Aenderung (z.B. an wen wurde das Problem weitergeleitet).


Table: defect_memo

Back to Index

Man kann zu jedem Problem beliebeige Anzahl an Memo-Texten speichern. Diese Informationen werden nicht fuer die Kunden sichtbar. Dies ist eine Art interne Kommunikation zwischen den Bearbeitern.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
idLONG yes yes no Unique Identifier fuer ein Memo.
defect_idLONG no no no Verweis auf das Problem zu welchem dies Memo gehoert.
created_on_DATE no no no Wann wurde dies Memo angelegt?
created_byUSER no no no Von wem wurde dies Memo angelegt?
memoTEXT no no no Der Inhalt des Memos.


Table: defect_route

Back to Index

Eine Route des Problems beim Weiterleiten. Diese Tabelle beinhaltet die Geschichte des Weiterleiten eines Problems.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
defect_idLONG no no no Unique Identifier fuer das Problem.
engineerUSER no no no Person, die von dem Weiterleiten fuer das Problem verantwortlich wurde.
forwarded_on_DATE no no no Wann wurde dies Problem weitergeleitet?
forwarded_byUSER no no no Von wem wurde das Weiterleiten ausgefuehrt?
forwarded_toUSER no no no An wen wurde das Problem weitergeleitet?


Table: group_member

Back to Index

ColumnTypePrimary KeyUniqueNULLDefaultDescription
group_idUSER yes yes no
member_idUSER yes yes no


Table: hardware_change

Back to Index

Hier werden die Daten ueber die gewuenschten Benachrichtigungen fuer Hardware-Austausch gespeichert. Diese Benachrichtigung ist fuer Kundenbenutzer nicht erlaubt!

ColumnTypePrimary KeyUniqueNULLDefaultDescription
idLONG yes yes no Eine eindeutige Kennung fuer diese Notification-Definition.
user_idUSER no no no Kennung des Benutzers, der bei HW-Tausch benachrichtigt werden soll. Kundenbenutzer wird nicht erlaubt!
product_idLONG no no no -1 Die Kennung des Produktes. Entweder Produkt oder Kunde muss angegeben werden (beides ist auch moeglich).
customer_idLONG no no no -1 Wenn angegeben, wird der Benutzer nur dann benachrichtigt, wenn Problem von diesem bestimmten Kunden gemeldet wurde, und bei der Lösung zum Hardware-Austausch kam.


Table: info

Back to Index

Information zum S.mon.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
versionVARCHAR(6) no no yes Die Versionsnummer fuer S.mon
buildVARCHAR(8) no no yes Build-Datum im Format ddmmyyyy


Table: journaling

Back to Index

Logbuch fuer die wichtigsten Aktionen (Benutzer anlegen, Kunden anlegen, Produkt anlegen, Problem melden, Problem loeschen, usw.)

ColumnTypePrimary KeyUniqueNULLDefaultDescription
idLONG yes yes no Eine eindeutige Kennung einer Aktion
action_on_DATE no no no Wann wurde die Aktion ausgefuehrt?
action_byUSER no no no Von wem wurde die Aktion durchgefuehrt?
action_codeINT no no no Der Kode fuer eine durchgefuehrte Aktion (1: create user, 2: create customer, 3: create product, 4: new defect, 15: delete defect, 20: login, 21: logout, 23: password change, 25: set ACL entry, 26: remove ACL entry)
action_paraVARCHAR(32) no no yes Zusatzinformation zu der Aktion (Name des Kunden, Problemnummer, etc.)


Table: last_id

Back to Index

Wird verwendet um Unique-Identifiers fuer unterschiedliche Tabellen zu verwalten. Braucht man eine eindeutige Nummer, so wird last_id inkrementiert und fuers Ergebnis verwendet. Grund fuer diese Tabelle ist die unterschiedliche Behandlung von 'auto increment' in den Datenbanken. Deswegen werden die unique identifiers von der Applikation selbst verwaltet.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
nameVARCHAR(32) yes yes no Name einer Tabelle oder sonstiger Name fuer welchen man eine fortlaufende Nummer braucht (in unserem Fall: defect, defect_memo, defect_action, attachment, customer, product, notification).
last_idLONG no no no Die letzte Nummer die zu dem Namen gespeichert wurde. Als naechstes Id sollte last_id plus 1 genommen werden und der entsprechende Datensatz aktualisiert werden.


Table: license_data

Back to Index

Speichert die gesamte Lizenz-Info

ColumnTypePrimary KeyUniqueNULLDefaultDescription
product_license_serialVARCHAR(36) yes yes no Unique-Identifier für eine Lizenz (Verweis auf Produkt-Lizenz
licenseTEXT no no no Gesamte Lizenz


Table: license_feature

Back to Index

Speichert die freigeschaltenen Features zu einer Lizenz

ColumnTypePrimary KeyUniqueNULLDefaultDescription
product_license_serialVARCHAR(36) no no no Verweis auf die Lizenz
nameVARCHAR(60) no no no Der Name der License-Feature
numLONG no no no 0Die Anzahl der lizenzierten Features (0: unlimitiert)
expires_DATE no no yes Bis wann darf man dieses Feature benutzen
enabledBOOL no no no Ist das Feature überhaupt freigeschalten


Table: license_feature_name

Back to Index

Diese Tabelle speichert die zu lizenzierenden Feature-Namen zu einer Produkt-Version

ColumnTypePrimary KeyUniqueNULLDefaultDescription
idINT yes yes no Fortlaufende Nummer zur Identifikation
product_version_idINT no no no Die Referenz auf die Produkt-Version
created_on_DATE no no no Wann wurde dieser Datensatz angelegt
created_byUSER no no no Von wem wurde dieser Datensatz angelegt
modified_on_DATE no no yes Wann wurde dieser Datensatz zuletzt geändert
modified_byUSER no no yes Von wem wurde dieser datensatz zuletzt geändert
nameVARCHAR(60) no no no Der Name der License-Feature
countableBOOL no no no Ist es ein Concurrent-Feature, wo ein Zähler benötigt wird


Table: license_key_pair

Back to Index

Speichert das Schlüssel-Paar, welches zum Signieren und Validieren von Lizenzen benutzt wird

ColumnTypePrimary KeyUniqueNULLDefaultDescription
product_version_idINT yes yes no Identifiziert die Produkt-Version
private_keyTEXT no no yes
public_keyTEXT no no yes


Table: mail_exchange

Back to Index

Diese Tabelle speichert den E-Mail-Austausch zu den Problemen. Ein spezieller E-Mail Gateway wird fuer diese Funktionalitaet benoetigt.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
idLONG yes yes no Eindeutige Kennung fuer eine E-Mail.
created_on_DATE no no no Wann wurde die Information im System gespeichert.
ticket_idLONG no no no Auf welches Ticket bezieht sich diese Nachricht?
subjectVARCHAR(120) no no no '' Betreff einer Nachricht, die ausgetauscht wurde.
mail_fromEMAIL no no no Der Sender der Nachricht
recipient1EMAIL no no no Der erste Empfaenger
recipient2EMAIL no no yes Der zweite Empfaenger
recipient3EMAIL no no yes Der dritte Empfaenger
received_on_DATE no no no Wann wurde die E-Mail empfangen?
sent_on_DATE no no yes Wann wurde die E-Mail versendet?
dataBLOB no no yes Der Inhalt der Nachricht.


Table: mail_routing

Back to Index

Diese Tabelle beinhaltet Information, welche zur automatischen Verteilung von Incoming-Mails im S.mon notwendig sind. Aus dem Inhalt der Mail wird im S.mon automatisch ein Ticket angelegt.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
addressVARCHAR(64) yes yes no Der User-Part der E-Mail Adresse
product_idLONG no no no Die Kennung des Produkts, auf welches sich die E-Mail-Adresse bezieht
contract_idLONG no no no 0 Die Kennung des Vertrages, welcher dem per E-Mail verschickten Tickets automatisch zugeordnet wird (Defaul-Wert entspricht dem Default-Vertrag).
created_on_DATE no no no Wann wurde dieser Eintrag erstellt?
created_byUSER no no no Von wem wurde dieser Eintrag gemacht?


Table: notification

Back to Index

Hier werden die Daten ueber die gewuenschten Benachrichtigungen gespeichert. Es wird gespeichert, bei welchen Ereignissen (Zustandsaenderung) ein Benutzer eine E-Mail Benachrichtigung bekommen moechte.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
idLONG yes yes no Eine eindeutige Kennung fuer diese Definition.
user_idUSER no no no Kennung des Benutzers, der benachrichtigt werden soll.
product_idLONG no no no Die Kennung des Produktes.
statesVARCHAR(10) no no no Die Zustaende, bei welchen der Benutzer benachrichtigt sein soll.
prioritiesVARCHAR(10) no no no '123456789' Die Prioritaeten, bei welchen der Benutzer benachrichtigt sein soll (Default: Alle).
customer_idLONG no no yes Wenn angegeben, spezifiziert zusaetzlich fuer Defects vom welchen Kunden die Benachrichtigung erfolgen soll. Bei Kundenbenutzer ist es immer gesetzt.
defect_idLONG no no yes Wenn angegeben, grenzt die Benachrichtigung auf ein einzelnes Problem ab.
own_BOOL no no no 'n' Wenn auf TRUE gesetzt, so werden nur eigene Postings beruecksichtigt


Table: partner

Back to Index

ColumnTypePrimary KeyUniqueNULLDefaultDescription
idLONG yes yes no
nameVARCHAR(60) no yes no
descriptionVARCHAR(200) no no yes
enabledBOOL no no no TRUE


Table: pm_user

Back to Index

Hier werden die Information ueber die Benutzer (sowohl Kunden als auch Bearbeiter) gespeichert.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
login_nameUSER yes yes no Name des Accounts. Mit dem Namen wird sich ein Benutzer am System authentifizieren.
account_typeCHAR(1) no no no 'u'Typ des Accounts: (u)ser oder (g)roup
last_nameVARCHAR(35) no no no Nachname des Benutzers.
first_nameVARCHAR(35) no no no '' Vorname des Benutzers.
user_passwordVARCHAR(32) no no no Das Passwort des Benutzers. Die Passwoerter werden verschluesselt abgelegt. Es gibt zwei Arten der Verschluesselung: eine sehr strenge und eine mit einem bekannten Key. Bei der sehr strengen Verschluesselung ist es nicht mehr moeglich, das Passwort zu entschluesseln. Beim vergessen, kann man das Passwort nur ruecksetzen. Bei einer Verschluesselung mit einem bekannten Key, kann das System jede Zeit das Passwort entschluesseln. Diese Variante eignet sich gut fuer die Kunden. Wird ein Passwort vergessen, so kann man ein E-Mail mit dem Passwort an den Kunden automatisch verschicken.
strong_password_BOOL no no no 'n' Gibt an, ob es sich um ein strenges Passwort handelt. Default ist: nein.
emailEMAIL no no yes Die E-Mail Adresse des Benutzers.
notification_emailEMAIL no no yes Die E-Mail Adresse des Benutzers, die fuer Benachrichtigungen zu verwenden ist.
phonePHONE no no yes Die Telefonnummer des Benutzers.
faxFAX no no yes Die Faxnummer des Benutzers.
titleVARCHAR(15) no no yes Titel (Anrede)
descriptionVARCHAR(200) no no yes Eine kurze Beschreibung oder Kommentar
mobilePHONE no no yes Die Mobilbox-Nummer.
roomVARCHAR(25) no no yes Zimmernummer
created_on_DATE no no no Wann wurde der Benutzer angelegt?
created_byUSER no no no Von wem wurde der Benutzer angelegt?
modified_on_DATE no no yes Wann wurden die Daten des Benutzers zuletzt modifiziert?
modified_byUSER no no yes Von wem wurden die Daten des Benutzers zuletzt modifiziert?
last_logon_on_DATE no no yes Wann hat sich der Benutzer zuletzt angemeldet?
last_logon_failure_on_DATE no no yes Wann war der letzte fehlgeschlagene Anmeldeversuch?
is_disabled_BOOL no no no 'n' Ist der Account gesperrt (z.B. wegen mehr als 3 fehlgeschlagenen Anmeldeversuche)? Wenn ein Account gesperrt ist, so wird das Anmelden untersagt.
is_valid_BOOL yes yes no 'y' Sollte ein Account nicht mehr benoetigt werden, man will aber die Querverweise behalten, so reicht es aus, das Account zu deaktivieren.
is_admin_BOOL no no no 'n' Wenn auf true gesetzt, so handelt sich um einen Administrator.
helpdesk_agent_BOOL no no no 'n'
customer_idLONG no no no -1 Wenn gesetzt, so handelt es sich um einen Kundenbenutzer.
customerVARCHAR(20) no no yes Name des Kunden.
picture_urlURL no no yes URL fuer Benutzerphoto. Man kann die Photos im System speichern oder es reicht auch aus ein Link anzugeben.
partner_idLONG no no no -1


Table: product

Back to Index

Beinhaltet alle Produkte (Projekte). Ein Produkt kann aus mehreren Systemen und Komponenten besteht. Zu einem Produkt kann man ein Team mit den Bearbeitern definieren. Jedes Produkt wird mit einer Access Control List geschuetzt.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
idLONG yes yes no Eindeutige Kennung fuer ein Produkt.
nameVARCHAR(40) no yes yes Name des Produktes.
descriptionVARCHAR(160) no no no Eine kurze Beschreibung des Produktes.
created_on_DATE no no no Wann wurde dies Produkt angelegt?
created_byUSER no no no Von wem wurde das Produkt angelegt?
modified_on_DATE no no yes Wann wurde dies Produkt zuletzt modifiziert?
modified_byUSER no no yes Von wem wurde das Produkt zuletzt modifiziert?
product_urlURL no no yes URL fuer dies Produkt/Projekt.
emailVARCHAR(32) no no yes E-Mail um Bugs fuer das Produkt via Mail-Gateway zu melden. Wenn ein Produkt eine E-Mail-Adresse besitzt, dann ist es auch moeglich, Probleme fuer dies Produkt (Projekt) mit einem Mail-Client zu verfassen.
check_system_BOOL no no no 'n' Wenn auf TRUE gesetzt, dann wird beim Erzeugen eines Defects geprueft, ob die angegebenen Parameter fuer System und Komponente mit den konfigurierten Werten uebereinstimmen.
check_customer_BOOL no no no 'n' Wenn auf TRUE gesetzt, dann wird beim Erzeugen eines Defects geprueft, ob die Customer-Reference erlaubt ist. Siehe Tabelle 'customer_product'.
check_office_BOOL no no no 'n' Wenn auf TRUE gesetzt, dann wird beim Erzeugen eines Defects geprueft, ob die angegebene Office/Site fuer den gewuenschten Kunden wirklich existiert.
check_release_BOOL no no no 'n'


Table: product_license

Back to Index

Dies Tabelle speichert die Lizenzen

ColumnTypePrimary KeyUniqueNULLDefaultDescription
serialVARCHAR(36) yes yes no Eindeutige Seriennummer für eine Lizenz
created_on_DATE no no no Wann wurde dieser Datensatz angelegt
created_byUSER no no no Von wem wurde dieser Datensatz angelegt
customer_idLONG no no yes Für welchen Kunden wurde die Lizenz erstellt
product_version_idINT no no no Für welches Produkt und Produkt-Version gilt diese Lizenz
expires_DATE no no yes Bis wann gilt diese Lizenz
hostVARCHAR(255) no no no Für welche Host-Maschine (MAC oder IP, ist Produkt abhängig) ist diese Lizenz beschränkt
portSHORT no no no 0Zusätzliche Port-Restriktion auf dem Host-Rechner (0: beliebige Portnummer, keine Restriktion)
replacesVARCHAR(36) no no yes Verweis auf die alte Lizenz, welche durch diese ersetzt wurde


Table: product_release

Back to Index

ColumnTypePrimary KeyUniqueNULLDefaultDescription
idLONG yes yes no
product_idLONG no yes no
nameVARCHAR(40) no yes no
planned_start_onDATE no no no
planned_end_onDATE no no no
start_onDATE no no yes
end_onDATE no no yes


Table: product_team

Back to Index

Hier wird gespeichert, welche Benutzer fuer die Wartung eines Produktes zustaendig sind. Bei Zuweisung eines Problems kann man schnell einen Benutzer aus solch einer Liste auswaehlen. Bitte beachten, dass diese Tabelle nichts mit Zugriffsrechten zu tun hat. Es geht hier nur um eine Vorauswahl von Benutzern, die fuer Assignment in Frage kommen.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
product_idLONG yes yes no Um welches Produkt handelt es sich?
user_idUSER yes yes no Welcher Benutzer kennt sich bei dem Produkt aus?


Table: product_version

Back to Index

Diese Tabelle speichert Informationen über Produktversionen

ColumnTypePrimary KeyUniqueNULLDefaultDescription
idINT yes yes no Fortlaufende Nummer zur Identifikation
product_idLONG no no no Die Referenz auf das Produkt
created_on_DATE no no no Wann wurde dieser Datensatz angelegt
created_byUSER no no no Von wem wurde dieser Datensatz angelegt
modified_on_DATE no no yes Wann wurde dieser Datensatz zuletzt geändert
modified_byUSER no no yes Von wem wurde dieser datensatz zuletzt geändert
versionVARCHAR(40) no no no Ein Name für die Produkt-Version
nameVARCHAR(40) no no no Ein Name für das Produkt, welcher im Lizenzfile erscheint
license_algorithmSHORT no no no 1Aufzählung für License-Signatur-Algorithmus. 0: RSA mit SHA; 1: RSA mit MD5
show_disabled_featuresBOOL no no no 0Soll ein Feature im Lizenfile erscheinen auch wenn es nicht freigeschaltet ist?


Table: reporting

Back to Index

Diese Tabelle beinhaltet alle fuer einen Report notwendigen Daten. Es handelt sich hier um automatische Reporte, die von einem Administrator definiert werden und von den Bearbeiter nicht veraendert werden duerfen. Ein spezielles CronTab-System sorgt fuer die asynchronen Aufrufe von Jobs die sich aus der Daten dieser Tabelle ergeben. Es ist ein Eskalationsmechanismus mit der Feingranulierung derzeit beschraenkt auf ein Tag. Eine Erweiterung auf eine Stunde waere sinvoll und auch unproblematisch, falls dies gewuenscht ist.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
idLONG yes yes no Unique Identifier fuer einen Report.
subjectVARCHAR(120) no no no Ein Titel fuer den Report. Wird als Betreff (Subject) in der Mail-Notification verwendet.
recipientUSER no no no Wer bekommt den Report?
report_hoursINT no no no 6 Um wieviel Uhr soll der Report erzeugt sein (0 bis 23)? Default Wert ist auf 6 gesetzt, d.h. um 6Uhr in der Frueh.
report_minutesINT no no no 0 Zusaetzlich zur runden Uhrzeit kann man Minuten angeben (0..59)
scheduleINT no no no Scheduling fuer einen Report. Soll der Report taeglich, woechentlich oder monatlich erstellt werden? Der Wert 1 entspricht einem taeglichen Report, 2 - einem woechentlichen und 3 - einem monatlichen Report.
schedule_paramINT no no no 1 Ein Parameter fuer das Scheduling. Bei taeglichen Reports wird der Wert ignoriert. Fuer woechentliche Reports steht hier Wochentag (1: Montag, ..., 7: Sonntag). Fuer monatliche Reports steht hier der Tag (1...31).
all_days_BOOL no no no 'y' Wenn auf FALSE gesetzt, wird ein Report an einem Feiertag, Samstag oder an einem Sonntag nicht erstellt. Der Default Wert ist TRUE.
statesVARCHAR(10) no no no '' Die Liste mit Zustaenden, die bei dem Report in Frage kommen. Der Default Wert ist ein Leerstring (eine leere Liste).
prioritiesVARCHAR(10) no no no '' Die Liste mit Prioritaeten, die bei dem Report in Frage kommen. Der Default Wert ist ein Leerstring.
product_idLONG no no no -1 Wenn gesetzt, so werden bei dem Report nur Defects fuer ein bestimmtes Produkt beruecksichtigt. Der Default-Wert ist -1 (kein extra Produkt ausgewaehlt)
customer_idLONG no no no -1 Wenn gesetzt, so werden bei dem Report nur Defects von einen bestimmten Kunden beruecksichtigt.
expired_BOOL no no no 'n' Wenn auf TRUE gesetzt, werden nur die abgelaufenen Defects beruecksichtigt (ansonsten alle). Der Default Wert ist FALSE (n).
engineerUSER no no yes Wenn gesetzt, so werden bei dem Report nur die Defects beruecksichtigt, die dem bestimmten Benutzer zugewiesen wurden.


Table: svn_repository

Back to Index

ColumnTypePrimary KeyUniqueNULLDefaultDescription
idLONG yes yes no
product_idLONG no yes no
nameVARCHAR(120) no no no
locationVARCHAR(120) no yes no
svn_userVARCHAR(36) no no no
svn_passwordVARCHAR(36) no no no
last_revisionLONG no no no -1
last_sync_on_DATE no no yes


Table: svn_revision

Back to Index

ColumnTypePrimary KeyUniqueNULLDefaultDescription
idLONG yes yes no
ticket_idLONG no yes no
repository_idLONG no yes no
revisionLONG no yes no
revision_date_DATE no no no
revision_authorVARCHAR(36) no no no


Table: system

Back to Index

Ein Produkt kann mehrere Systeme haben.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
product_idLONG yes yes no Die Kennung fuer ein Produkt.
nameVARCHAR(40) yes yes no Name des Systems.
descriptionVARCHAR(160) no no no Eine kurze Beschreibung des Systems.


Table: ticket_description

Back to Index

Beinhaltet die Beschreibung des Tickets.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
idLONG yes yes no Unique Identifier fuer eine Beschreibung.
ticket_idLONG no no no Verweis auf das Ticket zu welchem diese Beschreibung gehoert.
created_on_DATE no no no Wann wurde diese Beschreibung hinzugefuegt?
created_byUSER no no no Von wem wurde diese Beschreibung hinzugefuegt?
descriptionTEXT no no no Der Inhalt der Beschreibung.


Table: user_acl

Back to Index

Access Control List. Hier werden die Rechte der Benutzer gespeichert. In der Zukunft werden vielleicht auch Gruppen-Rechte eingefuehrt. Ein Produkt hat immer nur ein ACL. Ein Benutzer darf in einem ACL nur ein einziges Mal vorkommen. Derzeit gibt es fuer System-Verwaltung kein extra ACL. Es gibt drei Meta-Benutzer die im ACL verwendet werden koennen: anonym (Synonym fuer beliebigen Benutzer), customer (Synonym fuer beliebigen Kunden-Benutzer) und engineer (Synonym fuer beliebigen Bearbeiter).

ColumnTypePrimary KeyUniqueNULLDefaultDescription
product_idLONG yes yes no Die Kennung des Produktes, welches durch dies ACL geschuetzt sein sollte.
user_idUSER yes yes no Die Kennung des Benutzers fuer welchen dieser Eintrag gilt
account_typeCHAR(1) no no no 'u'
p_assignCHAR(1) no no no 'n' Das Recht die Defects an einen Bearbeiter zuzuweisen.
p_attachCHAR(1) no no no 'n' Das Recht Beilagen an die Defects anzuhaengen. Der Submitter und Bearbeiter haben dies Recht implizit.
p_closeCHAR(1) no no no 'n' Das Recht Probleme zu schliessen.
p_deleteCHAR(1) no no no 'n' Das Recht Defects zu loeschen.
p_editCHAR(1) no no no 'n' Das Recht Probleme zu editieren.
p_forwardCHAR(1) no no no 'n' Das Recht Probleme weiterzuleiten.
p_historyCHAR(1) no no no 'n'Das Recht History der Probleme zu sehen.
p_memoCHAR(1) no no no 'n' Das Recht Memos und Kommentare zu erzeugen. Der Bearbeiter hat dies Recht implizit.
p_readCHAR(1) no no no 'n' Das Recht die Defects zu lesen. Der Submitter und der Bearbeiter bekommen das Recht auf die entsprechended Defects implizit.
p_submitCHAR(1) no no no 'n' Das Recht ein Defect zu melden.
p_verifyCHAR(1) no no no 'n'Das Recht die Loesung der Probleme zu verifizieren.
p_next_levelCHAR(1) no no no 'n'Das notwendige Recht, um ein Ticket zum nächsten Level weiterzuleiten.


Table: user_picture

Back to Index

Speichert Photos der Benutzer.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
user_idUSER yes yes no Zu welchem Benutzer gehoert das Photo?
content_typeVARCHAR(10) no no no Handelt sich um GIF- oder JPEG-Bild?
pictureBLOB no no yes Das Photo des Benutzers.


Table: user_preference

Back to Index

Hier werden die Benutzereinstellungen gespeichert.

ColumnTypePrimary KeyUniqueNULLDefaultDescription
user_idUSER yes yes no Kennung des Benutzers, fuer welchen diese Einstellungen gelten sollen.
ui_langVARCHAR(6) no no no 'en' Gewuenschte GUI Sprache. Unterstuetzt werden derzeit folgende Sprachen: Englisch (Default), Deutsch, Polnisch und Tschechisch.
after_loginVARCHAR(20) no no no '' Name des Kommandos, welches nach Anmeldung fuer diesen Benutzer ausgefuehrt werden sollte (z.B. 'admin' fuer einen Administrator oder 'verify' fuer einen Kundenbenutzer, der die Bugs verifiziert). Default-Wert ist leer und man gelangt zum Hauptmenue.
sort_orderCHAR(1) no no no 'a' Sorting Order (ab- oder aufsteigende Sortierung). Zulaessige Werte sind 'a' fuer 'ascending' oder 'd' fuer 'descending'.
sort_byCHAR(1) no no no '1' Ein Code wonach die Defects sortiert werden sollen. Der Default-Wert entspricht einer Sortierung nach Defect-Identifier. Hier sind die zulassigen Codes: 1 (Defect Number), 2 (State), 3 (Priority), 4 (Title), 5 (Customer), 6 (Date), 7 (Engineer), 8 (Product)
def_productLONG no no no -1 Default-Produkt, wo ein Bearbeiter/Kundenbenutzer Probleme melden will.
def_customerLONG no no no -1 Default-Customer, fuer welchen ein Bearbeiter Probleme melden will. Fuer einen Kunden-Benutzer ist diese Einstellung nicht relevant und wird ignoriert.
contract_idLONG no no no -1 Default-Vertrag zur Meldung von Problemen.


Table: user_query

Back to Index

ColumnTypePrimary KeyUniqueNULLDefaultDescription
idLONG yes yes no
user_idUSER no no no
nameVARCHAR(255) no no no
dataTEXT no no no


Defined Aliases

AliasType
_BOOLCHAR(1)
_DATETIMESTAMP
EMAILVARCHAR(128)
FAXVARCHAR(24)
PERMINT
PHONEVARCHAR(24)
PRIOSHORT
PRIO_NAMECHAR(10)
STATECHAR(1)
URLVARCHAR(128)
USERVARCHAR(64)

Predefined SQL Statements

INSERT INTO last_id (name, last_id) VALUES('defect', 0)
INSERT INTO last_id (name, last_id) VALUES('defect_memo', 0)
INSERT INTO last_id (name, last_id) VALUES('defect_action', 0)
INSERT INTO last_id (name, last_id) VALUES('defect_attachment', 0)
INSERT INTO last_id (name, last_id) VALUES('customer', 0)
INSERT INTO last_id (name, last_id) VALUES('product', 0)
INSERT INTO last_id (name, last_id) VALUES('notification', 0)
INSERT INTO last_id (name, last_id) VALUES('reporting', 0)
INSERT INTO last_id (name, last_id) VALUES('hardware_change', 0)
INSERT INTO last_id (name, last_id) VALUES('journaling', 0)
INSERT INTO last_id (name, last_id) VALUES('mail_exchange', 0)
INSERT INTO last_id (name, last_id) VALUES('contract', 0)
INSERT INTO last_id (name, last_id) VALUES('product_version', 0)
INSERT INTO last_id (name, last_id) VALUES('license_feature_name', 0)
INSERT INTO last_id (name, last_id) VALUES('ticket_description', 0)
INSERT INTO last_id (name, last_id) VALUES('user_query', 0)
INSERT INTO last_id (name, last_id) VALUES('svn_repository', 0)
INSERT INTO last_id (name, last_id) VALUES('svn_revision', 0)
INSERT INTO last_id (name, last_id) VALUES('product_release', 0)
INSERT INTO last_id (name, last_id) VALUES('partner', 0)
INSERT INTO pm_user (login_name, user_password, last_name, created_on, created_by, is_valid, customer_id, account_type) VALUES('system', '', 'System', $CURRENT_TIMESTAMP, 'system', 'n', 0, 'u')
INSERT INTO pm_user (login_name, user_password, last_name, created_on, created_by, is_valid, customer_id, account_type) VALUES('anonym', '', 'Anonymous', $CURRENT_TIMESTAMP, 'system', 'n', 0, 'u');
INSERT INTO pm_user (login_name, user_password, last_name, created_on, created_by, is_valid, customer_id, account_type) VALUES('engineer', '', 'Engineer', $CURRENT_TIMESTAMP, 'system', 'n', 0, 'g');
INSERT INTO pm_user (login_name, user_password, last_name, created_on, created_by, is_valid, customer_id, account_type) VALUES('customer', '', 'Customer', $CURRENT_TIMESTAMP, 'system', 'n', 0, 'g');
INSERT INTO pm_user (login_name, user_password, last_name, created_on, created_by, is_valid, customer_id, account_type) VALUES('productteam', '', 'Member of product team', $CURRENT_TIMESTAMP, 'system', 'n', 0, 'g');
INSERT INTO pm_user (login_name, user_password, last_name, created_on, created_by, is_valid, customer_id, account_type) VALUES('partner', '', 'Partner Account', $CURRENT_TIMESTAMP, 'system', 'n', 0, 'g');
INSERT INTO pm_user (login_name, last_name, user_password, strong_password, is_admin, created_on, created_by, customer_id, account_type) VALUES('admin', 'Administrator', MD5('1CBA1142'), 'y', 'y', now(), 'system', -1, 'u');
INSERT INTO contract_priority (contract_id, priority, name, description, fix_hours) VALUES(0, 1, 'E1', 'Emergency (1 day)', 24)
INSERT INTO contract_priority (contract_id, priority, name, description, fix_hours) VALUES(0, 2, 'E2', 'Emergency (7 days)', 168)
INSERT INTO contract_priority (contract_id, priority, name, description, fix_hours) VALUES(0, 3, 'S1', 'Severe (28 days)', 672)
INSERT INTO contract_priority (contract_id, priority, name, description, fix_hours) VALUES(0, 4, 'S2', 'Severe (~6 months)', 4392)
INSERT INTO contract_priority (contract_id, priority, name, description, fix_hours) VALUES(0, 5, 'NS', 'Non Severe (1 year)', 8760)
INSERT INTO contract (id, customer_id, name, description, valid_from, valid_until, created_on, created_by) VALUES(0, -1, 'Default', 'Default Contract', $CURRENT_TIMESTAMP, {ts '2020-12-31 23:59:59'}, $CURRENT_TIMESTAMP, 'system')

Data Types

CHAR
Fixed length character data
VARCHAR
Variable length character data
BOOL
Represents a boolean value TRUE or FALSE
BYTE
One byte signed number (-128 ... 127)
SHORT
Two bytes signed number (-32.768 ... 32.767)
INT
Four bytes signed number (-2.147.483.648 ... 2.147.483.647)
LONG
Eight bytes signed number (-9.223.372.036.854.775.808 ... 9.223.372.036.854.775.807)
FLOAT
Floating point number with single precision
DOUBLE
Floating point number with double precision
DECIMAL
A decimal number with a desired precision (maximum number of all ciphers)
DATE
Stores a date (year, month and day)
TIME
Stores a time (hours, minutes and seconds)
TIMESTAMP
Stores date and time (year, month, day, hours, minutes and seconds)
BLOB
Binary Large Object Base
TEXT
Long text data

Functions

CURRENT_DATE
Returns the current date (year, month, day)
CURRENT_TIME
Returns the current time (hours, minutes and seconds)
CURRENT_TIMESTAMP
Returns the current timestamp (year, month, day, hours, minutes and seconds)