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) NOT NULL,
ServiceType INT UNSIGNED NOT NULL,
FramedProtocol INT UNSIGNED NOT NULL,
NASPort VARCHAR(255) NOT NULL,
NASPortType INT UNSIGNED NOT NULL,
CallingStationID VARCHAR(255) NOT NULL,
CalledStationID VARCHAR(255) NOT NULL,
NASPortID VARCHAR(255) NOT NULL,
AcctSessionID VARCHAR(255) NOT NULL,
FramedIPAddress VARCHAR(16) NOT NULL,
AcctAuthentic INT UNSIGNED NOT NULL,
EventTimestamp DATETIME NOT NULL,
NASIdentifier VARCHAR(255) NOT NULL,
NASIPAddress VARCHAR(16) NOT NULL,
AcctDelayTime INT UNSIGNED NOT NULL,
AcctSessionTime INT UNSIGNED NOT NULL,
AcctInputOctets INT UNSIGNED NOT NULL,
AcctInputGigawords INT UNSIGNED NOT NULL,
AcctInputPackets INT UNSIGNED NOT NULL,
AcctOutputOctets INT UNSIGNED NOT NULL,
AcctOutputGigawords INT UNSIGNED NOT NULL,
AcctOutputPackets INT UNSIGNED NOT NULL,
AcctStatusType INT UNSIGNED NOT NULL,
AcctTerminateCause INT UNSIGNED NOT NULL
) @CREATE_TABLE_SUFFIX@;
CREATE INDEX @PREFIX@accounting_idx1 ON @PREFIX@accounting (Username);