IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 4893


Ignore:
Timestamp:
Aug 26, 2005, 5:39:06 PM (21 years ago)
Author:
jhoblitt
Message:

relocate schema SQL into Nebulous::Server::SQL

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Nebulous/t/Test/Nebulous.pm

    r4879 r4893  
    11# Copyright (C) 2004  Joshua Hoblitt
    22#
    3 # $Id: Nebulous.pm,v 1.5 2005-08-25 23:42:33 jhoblitt Exp $
     3# $Id: Nebulous.pm,v 1.6 2005-08-27 03:39:06 jhoblitt Exp $
    44
    55package Test::Nebulous;
     
    1010use File::Path qw( mkpath rmtree );
    1111use File::Temp qw( tempdir );
     12use Nebulous::Server::SQL;
    1213
    1314my $dsn     = "DBI:mysql:database=test:host=localhost";
     
    1617
    1718my $dbh = DBI->connect( $dsn, $user, $passwd );
     19my $sql = Nebulous::Server::SQL->new;
    1820
    1921# suppress uninitalized warnings
     
    3032    $dir2 = tempdir( CLEANUP => 0 );
    3133
    32     local $/ = ';';
    33 
    34     my $pos = tell DATA;
    35 
    36     foreach my $statement (<DATA>) {
    37         last unless ( $statement =~ /\S+/ );
     34    foreach my $statement (@{ $sql->get_db_schema }) {
    3835        $dbh->do( $statement );
    3936    }
    40 
    41     seek DATA, $pos, 0;
    4237
    4338    # FIXME
     
    4742
    4843sub cleanup {
    49     $dbh->do( "DROP TABLE IF EXISTS storage_object" );
    50     $dbh->do( "DROP TABLE IF EXISTS instance" );
    51     $dbh->do( "DROP TABLE IF EXISTS lock_record" );
    52     $dbh->do( "DROP TABLE IF EXISTS volume" );
    53     $dbh->do( "DROP TABLE IF EXISTS class" );
     44    foreach my $statement (@{ $sql->get_db_clear }) {
     45        $dbh->do( $statement );
     46    }
    5447
    5548    # on the first call to setup the $dir[12] will be ""
     
    60531;
    6154
    62 __DATA__
    63 DROP TABLE IF EXISTS storage_object;
    64 CREATE TABLE storage_object (
    65     so_id BIGINT NOT NULL AUTO_INCREMENT,
    66     ext_id VARCHAR(255) BINARY NOT NULL UNIQUE,
    67     class_id TINYINT NOT NULL,
    68     comment VARCHAR(255),
    69     read_lock TINYINT DEFAULT 0 NOT NULL,
    70     write_lock ENUM( 'write' ),
    71     epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    72     mtime TIMESTAMP,
    73     PRIMARY KEY(so_id),
    74     KEY(ext_id(64)),
    75     KEY(class_id)
    76 ) ENGINE=innodb;
    77 
    78 DROP TABLE IF EXISTS instance;
    79 CREATE TABLE instance (
    80     ins_id BIGINT NOT NULL AUTO_INCREMENT,
    81     so_id BIGINT NOT NULL,
    82     uri VARCHAR(255) BINARY NOT NULL,
    83     sha1sum CHAR(40) ASCII,
    84     assigned_location BOOL,
    85     epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    86     mtime TIMESTAMP,
    87     PRIMARY KEY(ins_id),
    88     KEY(so_id),
    89     KEY(uri(64))
    90 ) ENGINE=innodb;
    91 
    92 DROP TABLE IF EXISTS lock_record;
    93 CREATE TABLE lock_record (
    94         so_id BIGINT NOT NULL,
    95         type ENUM( 'read', 'write' ) NOT NULL,
    96         epoch TIMESTAMP,
    97         KEY(so_ID)
    98     ) ENGINE=innodb;
    99 
    100 DROP TABLE IF EXISTS volume;
    101 CREATE TABLE volume (
    102         vol_id INT NOT NULL AUTO_INCREMENT,
    103         name VARCHAR(255) UNIQUE BINARY NOT NULL,
    104         uri VARCHAR(255) BINARY NOT NULL,
    105         key(vol_id)
    106     ) ENGINE=innodb;
    107 
    108 DROP TABLE IF EXISTS class;
    109 CREATE TABLE class (
    110         class_id TINYINT NOT NULL AUTO_INCREMENT,
    111         instance TINYINT NOT NULL,
    112         priority TINYINT,
    113         comment VARCHAR(255),
    114         key(class_id)
    115     ) ENGINE=innodb;
    116 
    117 DROP TABLE IF EXISTS log;
    118 CREATE TABLE log (
    119     timestamp TIMESTAMP,
    120     hostname VARCHAR(255),
    121     level VARCHAR(255),
    122     sub VARCHAR(255),
    123     message VARCHAR(2048) NOT NULL,
    124     PRIMARY KEY(timestamp)
    125 ) ENGINE=innodb;
     55__END__
Note: See TracChangeset for help on using the changeset viewer.