IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 20933


Ignore:
Timestamp:
Dec 7, 2008, 2:36:19 PM (17 years ago)
Author:
eugene
Message:

adding auto_incr fields for table ids; adding upgrade mode

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/scripts/ippadmin

    r19633 r20933  
    11#!/bin/csh -f
    2 ## this script creates the tables needed by ippMonitor for user administration
     2## this script creates the top-level tables needed to manage the IPP databases
     3set IPPADMIN = "ippadmin"
    34
    4 if ($#argv < 4) goto usage;
     5if ($#argv < 3) goto usage;
    56
    67if ("$1" == "init") then
     
    1112
    1213  mysql -h $dbserver -u root -p <<EOF
    13   create database ippadmin;
    14   use ippadmin;
    15   create table users (username char(20) not null, password varchar(255));
    16   create table cookies (username char(20) not null, cookie varchar(255));
    17   create table projects (projname char(20) not null);
     14  create database $IPPADMIN;
     15  use $IPPADMIN;
     16  create table users (user_id BIGINT AUTO_INCREMENT, username char(255) not null, password varchar(255), primary key (user_id));
     17  create table cookies (cookie_id BIGINT AUTO_INCREMENT, username char(255) not null, cookie varchar(255), primary key (cookie_id));
     18  create table projects (proj_id BIGINT AUTO_INCREMENT, projname char(255) not null, primary key (proj_id));
    1819  grant all on *.* to $dbuser@localhost identified by '$dbpass';
    1920EOF
     
    4142  set pass = $5
    4243
    43   mysql -h $dbserver -u $dbuser -p ippadmin <<EOF
     44  mysql -h $dbserver -u $dbuser -p $IPPADMIN <<EOF
    4445  insert into users (username, password) values ('$user', '$pass');
    4546EOF
     
    5354  set dbname = $4
    5455
    55   mysql -h $dbserver -u $dbuser -p ippadmin <<EOF
     56  mysql -h $dbserver -u $dbuser -p $IPPADMIN <<EOF
    5657   insert into projects (projname) values ('$dbname');
    5758   create database $dbname;
    5859EOF
    5960    exit 0;
     61endif
     62
     63if ("$1" == "upgrade") then
     64  echo "$#argv"
     65 
     66  if ($#argv != 3) goto usage;
     67  set dbserver = $2
     68  set stage = $3
     69
     70  if ("$stage" == "1") then
     71    mysql -h $dbserver -u root -p $IPPADMIN <<EOF
     72    ALTER TABLE users add column user_id BIGINT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (user_id);
     73    ALTER TABLE users change column username username varchar(255);
     74
     75    ALTER TABLE cookies add column cookie_id BIGINT AUTO_INCREMENT FIRST, ADD PRIMARY KEY (cookie_id);
     76    ALTER TABLE cookies change column username username varchar(255);
     77
     78    ALTER TABLE projects add column proj_id BIGINT AUTO_INCREMENT FIRST, ADD PRIMARY KEY (proj_id);
     79    ALTER TABLE projects change column projname projname varchar(255);
     80EOF
     81      exit 0;
     82  endif
     83
     84  echo "unknown upgrade stage $stage"
     85  exit 1;
    6086endif
    6187
     
    6591  echo "  ippadmin init (dbserver) (dbuser) (dbpassword)"
    6692  echo "      creates admin tables, basic db user -- requires root password"
     93  echo ""
     94  echo "  ippadmin upgrade (dbserver) (stage)"
     95  echo "      upgrade existing database for given stage [1] -- requires root password"
    6796  echo ""
    6897  echo "  ippadmin client (dbserver) (dbuser) (dbpassword) (client)"
Note: See TracChangeset for help on using the changeset viewer.