Newer
Older
/* Users */
CREATE TABLE @PREFIX@users (
ID @SERIAL_TYPE@,
Username VARCHAR(255) NOT NULL,
UNIQUE (Username)
) @CREATE_TABLE_SUFFIX@;
CREATE INDEX @PREFIX@users_idx1 ON @PREFIX@users (Username);
/* User attributes */
CREATE TABLE @PREFIX@user_attributes (
UserID @SERIAL_REF_TYPE@ NOT NULL,
Operator VARCHAR(4) NOT NULL,
FOREIGN KEY (UserID) REFERENCES @PREFIX@users(ID)
/* Groups */
CREATE TABLE @PREFIX@groups (
ID @SERIAL_TYPE@,
Name VARCHAR(255) NOT NULL,
Priority SMALLINT NOT NULL,
Disabled SMALLINT NOT NULL DEFAULT '0',
CREATE INDEX @PREFIX@groups_idx1 ON @PREFIX@groups (Name);
CREATE TABLE @PREFIX@group_attributes (
GroupID @SERIAL_REF_TYPE@ NOT NULL,
Operator VARCHAR(4) NOT NULL,
FOREIGN KEY (GroupID) REFERENCES @PREFIX@groups(ID)
/* User to group mapping */
CREATE TABLE @PREFIX@users_to_groups (
ID @SERIAL_TYPE@,
UserID @SERIAL_REF_TYPE@ NOT NULL,
GroupID @SERIAL_REF_TYPE@ NOT NULL,
Disabled SMALLINT NOT NULL DEFAULT '0',
Comment VARCHAR(1024),
UNIQUE (UserID,GroupID),
FOREIGN KEY (UserID) REFERENCES @PREFIX@users(ID),
FOREIGN KEY (GroupID) REFERENCES @PREFIX@groups(ID)
) @CREATE_TABLE_SUFFIX@;
CREATE INDEX @PREFIX@users_to_groups_idx1 ON @PREFIX@users_to_groups (UserID,GroupID);
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
/* Realms */
CREATE TABLE @PREFIX@realms (
ID @SERIAL_TYPE@,
Name VARCHAR(255) NOT NULL,
Disabled SMALLINT NOT NULL DEFAULT '0',
) @CREATE_TABLE_SUFFIX@;
CREATE INDEX @PREFIX@realms_idx1 ON @PREFIX@realms (Name);
/* Realm attributes */
CREATE TABLE @PREFIX@realm_attributes (
ID @SERIAL_TYPE@,
RealmID @SERIAL_REF_TYPE@ NOT NULL,
Name VARCHAR(255) NOT NULL,
Operator VARCHAR(4) NOT NULL,
Value VARCHAR(255),
Disabled SMALLINT NOT NULL DEFAULT '0',
FOREIGN KEY (RealmID) REFERENCES @PREFIX@realms(ID)
) @CREATE_TABLE_SUFFIX@;
/* Accounting */
CREATE TABLE @PREFIX@accounting (
ID @SERIAL_TYPE@,
Username VARCHAR(255),
ServiceType @INT_UNSIGNED@,
FramedProtocol @INT_UNSIGNED@,
NASPort VARCHAR(255),
NASPortType @INT_UNSIGNED@,
CallingStationID VARCHAR(255),
CalledStationID VARCHAR(255),
NASPortID VARCHAR(255),
AcctSessionID VARCHAR(255),
FramedIPAddress VARCHAR(16),
AcctAuthentic @INT_UNSIGNED@,
EventTimestamp DATETIME,
NASIdentifier VARCHAR(255),
NASIPAddress VARCHAR(16),
AcctDelayTime @INT_UNSIGNED@,
AcctSessionTime @INT_UNSIGNED@,
AcctInputOctets @INT_UNSIGNED@,
AcctInputGigawords @INT_UNSIGNED@,
AcctInputPackets @INT_UNSIGNED@,
AcctOutputOctets @INT_UNSIGNED@,
AcctOutputGigawords @INT_UNSIGNED@,
AcctOutputPackets @INT_UNSIGNED@,
AcctStatusType @INT_UNSIGNED@,
AcctTerminateCause @INT_UNSIGNED@
) @CREATE_TABLE_SUFFIX@;
CREATE INDEX @PREFIX@accounting_idx1 ON @PREFIX@accounting (Username);