s4

changeset 93:dcd7a10760c6

s4-init.sh generalized
author HIROSE Yuuji <yuuji@gentei.org>
date Mon, 03 Aug 2015 17:47:01 +0900
parents 6b47328b08b3
children e6cac605e4e3
files s4-init.sh
diffstat 1 files changed, 7 insertions(+), 27 deletions(-) [+]
line diff
     1.1 --- a/s4-init.sh	Mon Aug 03 17:45:02 2015 +0900
     1.2 +++ b/s4-init.sh	Mon Aug 03 17:47:01 2015 +0900
     1.3 @@ -8,23 +8,6 @@
     1.4    [ "$debug" ] && echo "create $target if not exists $name $@"
     1.5    sq $db "create $target if not exists $name $@"
     1.6  }
     1.7 -create table passwd '(name primary key, pswd, gecos, skey);'
     1.8 -: <<EOF
     1.9 -
    1.10 -create table grp '(name primary key, tag text, gecos, owner, foreign key(owner) references passwd(name) on delete cascade on update cascade);'
    1.11 -# create table grp_mem '(gname, type, name, foreign key(gname) references grp(name) on delete cascade on update cascade, check (type in ("u", "g")), foreign key(name) references ug(name) on delete cascade on update cascade, unique(gname, type, name));'
    1.12 -create table par '(sessid text, var text, type text, val text, primary key(sessid, var, val) foreign key(sessid) references session(id) on update cascade on delete cascade);
    1.13 -
    1.14 -
    1.15 -create table ug '(name primay key);'
    1.16 -create trigger p2ugin 'after insert on passwd begin insert into ug values(new.name); end;'
    1.17 -create trigger g2ugin 'after insert on grp begin insert into ug values(new.name); end;'
    1.18 -create trigger p2ugup 'after update of name on passwd begin update ug set name = new.name where name=old.name; end;'
    1.19 -create trigger g2ugup 'after update of name on grp begin update ug set name = new.name where name=old.name; end;'
    1.20 -create trigger p2ugrm 'after delete on passwd begin delete from ug where name = old.name; end;'
    1.21 -create trigger g2ugrm 'after delete on grp begin delete from ug where name = old.name; end;'
    1.22 -
    1.23 -EOF
    1.24  
    1.25  create table $conftbl '(tbl,col,keytype,objtype, primary key(tbl, col))'
    1.26  
    1.27 @@ -88,20 +71,17 @@
    1.28  create table par '(sessid text, var text, type text, val text, primary key(sessid, var, val) foreign key(sessid) references session(id) on update cascade on delete cascade);'
    1.29  create table session '(id text primary key, expire text);'
    1.30  create table cookie '(sessid text, var text, type text, val text, primary key(sessid, var) foreign key(sessid) references session(id) on update cascade on delete cascade);'
    1.31 -
    1.32 -
    1.33 -create_struct $formdir/user.def
    1.34 -create_struct $formdir/grp.def
    1.35 -create_struct $formdir/grp_mem.def
    1.36 -create_struct $formdir/grp_adm.def
    1.37 -create_struct $formdir/blog.def
    1.38 -create_struct $formdir/article.def
    1.39 -#### create_struct $formdir/diary.def
    1.40 -
    1.41  create table acclog "(user, tbl, rowid, time, \
    1.42  	primary key(user, tbl, rowid), \
    1.43  	foreign key(user) references user(name))"
    1.44  
    1.45 +
    1.46 +for f in $formdir/*def; do
    1.47 +  echo -n Creating form of $f...
    1.48 +  create_struct $f && echo Done || echo FAILED
    1.49 +done
    1.50 +
    1.51 +
    1.52  gettblcols ${1:-grp}
    1.53  echo -n s:; gettbl_s_cols ${1:-grp}
    1.54  echo -n m:; gettbl_m_cols ${1:-grp}