Hi!

I'd like to contribute install scripts for Interbase. Tested on IB 6.0

Interbase_default_roles_permissions.sql only differs by comment style
because IB does not support "--" comments. It would make sense to change
main version to use /**/-style comments since all DBs seem to support
it.

WBR, Fedor
------------- Interbase_id_table.sql ---------------------------------
/* ------------------------------------
** This table provides the primary keys for all
** other tables in the system.  Should be used
** with util.db.IDBroker.
** -----------------------------------
*/
drop table id_table;

create table id_table
(
  id_table_id   integer NOT NULL,
  table_name    varchar(255) NOT NULL,
  next_id       integer,
  quantity      integer,
  PRIMARY KEY (ID_TABLE_ID)
);

create unique index id_table_id_table_id on id_table(id_table_id);


insert into ID_TABLE (id_table_id, table_name, next_id, quantity)
 values (1, 'Permission', 20, 10);
insert into ID_TABLE (id_table_id, table_name, next_id, quantity)
 values (2, 'UserRole', 20, 10);
insert into ID_TABLE (id_table_id, table_name, next_id, quantity)
 values (3, 'Visitor', 20, 10);
insert into ID_TABLE (id_table_id, table_name, next_id, quantity)
 values (4, 'Jobentry', 20, 10);
----------------------------------------------------------------------
------------- Interbase_users_roles_permissions.sql ------------------
/* Turbine, a Servlet Framework for building Dynamic Websites
** Copyright (C) 1999  Jon S. Stevens, Brett McLaughlin, Fedor
Karpelevitch
**
** For licensing and use, please see the LICENSE.txt in this directory.
**
** This is a schema for Interbase for
** the concept of Users/Roles/Permissions
**
*/

/********************************************************************/
/* 
** do not execute (comment-out) the drop part when performing 
** the initial setup or it will break. The drop part is needed for
re-build only.
*/

alter table RolePermission
    drop constraint FK_ROLEPERM_PERM;

alter table RolePermission
    drop constraint FK_ROLEPERM_USERROLE;

alter table VisitorRole
    drop constraint FK_VISROLE_USERROLE;

alter table VisitorRole
    drop constraint FK_VISROLE_VISITOR;



drop table Permission;
drop table UserRole;
drop table RolePermission;
drop table Visitor;
drop table VisitorRole;
drop table Jobentry;

DELETE FROM RDB$GENERATORS
        WHERE RDB$GENERATOR_NAME in ('PERMISSIONID_GEN              
','ROLEID_GEN                     ', 'VISITORID_GEN                  ');

commit work;

create table Permission
(
    PERMISSIONID        integer not null,
    PERMISSION          varchar (99) NOT NULL,
    PRIMARY KEY (PERMISSIONID)
);

create unique index Permission_permission on Permission (PERMISSION);

create generator permissionid_gen;

SET TERM ^ ;

CREATE TRIGGER SET_permissionid FOR Permission
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
        new.permissionid = gen_id(permissionid_gen, 1);
END ^
set term ;^

/********************************************************************/

create table UserRole
(
    ROLEID              integer not null,
    ROLENAME            varchar (99) NOT NULL,
    PRIMARY KEY (ROLEID)
);

create unique index UserRole_rolename on UserRole (ROLENAME);

create generator ROLEID_gen;

SET TERM ^ ;

CREATE TRIGGER SET_ROLEID FOR UserRole
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
        new.ROLEID = gen_id(ROLEID_gen, 1);
END ^
set term ;^


/********************************************************************/

create table RolePermission
(
    ROLEID              integer NOT NULL,
    PERMISSIONID        integer NOT NULL,
    PRIMARY KEY (ROLEID, PERMISSIONID)
);

create index RoPerm_rid_permid_index on RolePermission ( ROLEID,
PERMISSIONID );

/********************************************************************/

create table Visitor
(
    VISITORID           INTEGER NOT NULL,
    LOGINID             varchar (32) NOT NULL,
    PASSWORD_VALUE      varchar (32) NOT NULL,
    FIRST_NAME          varchar (99) NOT NULL,
    LAST_NAME           varchar (99) NOT NULL,
    ADDRESS1            varchar (255),
    ADDRESS2            varchar (255),
    CITY                varchar (255),
    STATE               varchar (32),
    POSTALCODE          varchar (32),
    COUNTRY             varchar (99),
    CITIZENSHIP         varchar (32),
    PHONE               varchar (32),
    ALTPHONE            varchar (32),
    FAX                 varchar (32),
    CELL                varchar (32),
    PAGER               varchar (32),
    EMAIL               varchar (99),
    MODIFIED            timestamp,
    CREATED             timestamp,
    LASTLOGIN           timestamp,
    OBJECTDATA          BLOB,
    PREFIX_NAME varchar (16),
    MIDDLE_NAME varchar (99),
    SUFFIX_NAME varchar (16),
    COMPANY     varchar (255),
    CONFIRM_VALUE varchar (99),
    PRIMARY KEY (VISITORID)
);

create unique index Visitor_loginid on Visitor (LOGINID);

create generator VISITORID_gen;

SET TERM ^ ;

CREATE TRIGGER SET_VISITORID FOR Visitor
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
        new.VISITORID = gen_id(VISITORID_gen, 1);
END ^
set term ;^


/********************************************************************/

create table VisitorRole
(
    VISITORID           integer NOT NULL,
    ROLEID              integer NOT NULL,
    PRIMARY KEY (VISITORID, ROLEID)
);

create unique index VisRo_visid_roid_index on VisitorRole ( VISITORID,
ROLEID );

alter table RolePermission
    add constraint FK_ROLEPERM_PERM foreign key  (PERMISSIONID)
       references Permission (PERMISSIONID);

alter table RolePermission
    add constraint FK_ROLEPERM_USERROLE foreign key  (ROLEID)
       references UserRole (ROLEID);

alter table VisitorRole
    add constraint FK_VISROLE_USERROLE foreign key  (ROLEID)
       references UserRole (ROLEID);

alter table VisitorRole
    add constraint FK_VISROLE_VISITOR foreign key  (VISITORID)
       references Visitor (VISITORID);


/********************************************************************/
 
create table Jobentry  (
    JOB_ID        integer NOT NULL,
    "MINUTE"        integer default -1 NOT NULL,
    "HOUR"          integer default -1 NOT NULL,
    "WEEKDAY"       integer default -1 NOT NULL,
    DAY_OF_MONTH  integer default -1 NOT NULL,
    TASK          varchar(99) NOT NULL,
    EMAIL         varchar(99),
    PRIMARY KEY (JOB_ID)
);

----------------------------------------------------------------------
------------- Interbase_default_roles_permissions.sql ----------------
/*
** Script to fill the tables with default roles and permissions for
Interbase
** The only difference is comment style
*/

/* Add some default permissions */

insert into Permission (PERMISSIONID, PERMISSION) values (1,
'view_user');
insert into Permission (PERMISSIONID, PERMISSION) values (2,
'add_user');
insert into Permission (PERMISSIONID, PERMISSION) values (3,
'modify_user');
insert into Permission (PERMISSIONID, PERMISSION) values (4,
'view_group');
insert into Permission (PERMISSIONID, PERMISSION) values (5,
'add_group');
insert into Permission (PERMISSIONID, PERMISSION) values (6,
'modify_group');
insert into Permission (PERMISSIONID, PERMISSION) values (7,
'view_permission');
insert into Permission (PERMISSIONID, PERMISSION) values (8,
'add_permission');
insert into Permission (PERMISSIONID, PERMISSION) values (9,
'modify_permission');
insert into Permission (PERMISSIONID, PERMISSION) values (10,
'view_role');
insert into Permission (PERMISSIONID, PERMISSION) values (11,
'add_role');
insert into Permission (PERMISSIONID, PERMISSION) values (12,
'modify_role');

/* Create a Role or Group in this case turbine root */
insert into UserRole (ROLEID, ROLENAME) values (1, 'turbine_root');

/* Add some permissions for turbine root */
insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID,
Permission.PERMISSIONID from UserRole, Permission where
Permission.PERMISSION = 'view_user' and  UserRole.ROLENAME =
'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID,
Permission.PERMISSIONID from UserRole, Permission where
Permission.PERMISSION = 'add_user' and  UserRole.ROLENAME =
'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID,
Permission.PERMISSIONID from UserRole, Permission where
Permission.PERMISSION = 'modify_user' and  UserRole.ROLENAME =
'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID,
Permission.PERMISSIONID from UserRole, Permission where
Permission.PERMISSION = 'view_group' and  UserRole.ROLENAME =
'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID,
Permission.PERMISSIONID from UserRole, Permission where
Permission.PERMISSION = 'add_group' and  UserRole.ROLENAME =
'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID,
Permission.PERMISSIONID from UserRole, Permission where
Permission.PERMISSION = 'modify_group' and  UserRole.ROLENAME =
'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID,
Permission.PERMISSIONID from UserRole, Permission where
Permission.PERMISSION = 'view_permission' and  UserRole.ROLENAME =
'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID,
Permission.PERMISSIONID from UserRole, Permission where
Permission.PERMISSION = 'add_permission' and  UserRole.ROLENAME =
'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID,
Permission.PERMISSIONID from UserRole, Permission where
Permission.PERMISSION = 'modify_permission' and  UserRole.ROLENAME =
'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID,
Permission.PERMISSIONID from UserRole, Permission where
Permission.PERMISSION = 'view_role' and  UserRole.ROLENAME =
'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID,
Permission.PERMISSIONID from UserRole, Permission where
Permission.PERMISSION = 'add_role' and  UserRole.ROLENAME =
'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID,
Permission.PERMISSIONID from UserRole, Permission where
Permission.PERMISSION = 'modify_role' and  UserRole.ROLENAME =
'turbine_root';


/*
** Create an account 'turbine' for system administartor
** Remeber to set a good password for this user in a production system!
*/

insert into Visitor (LOGINID, PASSWORD_VALUE, FIRST_NAME, LAST_NAME,
MODIFIED, CREATED ) values ('turbine', 'turbine', 'turbine', 'turbine',
null, null );

/* Finally, add the user turbine to the turbine_root group */
insert into VisitorRole ( VISITORID, ROLEID ) select Visitor.VISITORID,
UserRole.ROLEID from Visitor, UserRole where Visitor.LOGINID = 'turbine'
AND UserRole.ROLENAME = 'turbine_root';

------------------------------------------------------------------------------------


------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Search: <http://www.mail-archive.com/turbine%40list.working-dogs.com/>
Problems?:           [EMAIL PROTECTED]

Reply via email to