#!/usr/bin/perl
###########################################
# create_tables.pl -- DB/Tabellen anlegen
# Mike Schilli, 2002 (m@perlmeister.com)
###########################################
use warnings;
use strict;

use DBI;

my $USER     = "root";
my $PASSWORD = "";

    # Set up Database
my $drh = DBI->install_driver("mysql");
my $rc  = $drh->func("createdb", 
    "serverdaten", "localhost", 
    $USER, $PASSWORD, 'admin');
warn "Create failed ($rc)" unless $rc;

my $dbh = DBI->connect("DBI:mysql:" .
    "database=serverdaten;host=localhost",
    $USER, $PASSWORD, {PrintError => 0});

    # === Table "SYSTEMS" ===
$dbh->do("DROP TABLE systems");
$dbh->do(<<EOT) or die "CREATE failed";
CREATE TABLE systems (
  id    MEDIUMINT AUTO_INCREMENT,
  name  VARCHAR(255) UNIQUE,
  PRIMARY KEY (id)
)
EOT
    # === Table "SUBSYSTEMS" ===
$dbh->do("DROP TABLE subsystems");
$dbh->do(<<EOT) or die "CREATE failed";
CREATE TABLE subsystems (
  id    MEDIUMINT AUTO_INCREMENT,
  name  VARCHAR(255) UNIQUE,
  PRIMARY KEY (id)
)
EOT

    # === Table "UPTIME" ===
$dbh->do("DROP TABLE uptime");
$dbh->do(<<EOT) or die "CREATE failed";
CREATE TABLE uptime (
  system MEDIUMINT NOT NULL,
  subsys MEDIUMINT NOT NULL,
  uptime INTEGER DEFAULT 0
)
EOT

    # === Table "RESTARTS" ===
$dbh->do("DROP TABLE restarts");
$dbh->do(<<EOT) or die "CREATE failed";
CREATE TABLE restarts (
  stamp  TIMESTAMP,
  system MEDIUMINT NOT NULL,
  subsys MEDIUMINT NOT NULL
)
EOT

$dbh->disconnect();
