#!/usr/bin/perl
###########################################
# create_tables.pl -- DB/Tabellen anlegen
# Mike Schilli, 2002 ([email protected])
###########################################
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();