Skip to content
Snippets Groups Projects
Commit 31422cfb authored by Robert Anderson's avatar Robert Anderson
Browse files

Restructured db schema

parent 7d81dc3d
No related branches found
No related tags found
No related merge requests found
...@@ -14,8 +14,6 @@ CREATE TABLE @PREFIX@users ( ...@@ -14,8 +14,6 @@ CREATE TABLE @PREFIX@users (
) @CREATE_TABLE_SUFFIX@; ) @CREATE_TABLE_SUFFIX@;
CREATE INDEX @PREFIX@users_idx1 ON @PREFIX@users (Username); CREATE INDEX @PREFIX@users_idx1 ON @PREFIX@users (Username);
/* User attributes */ /* User attributes */
CREATE TABLE @PREFIX@user_attributes ( CREATE TABLE @PREFIX@user_attributes (
ID @SERIAL_TYPE@, ID @SERIAL_TYPE@,
...@@ -48,8 +46,6 @@ CREATE TABLE @PREFIX@groups ( ...@@ -48,8 +46,6 @@ CREATE TABLE @PREFIX@groups (
) @CREATE_TABLE_SUFFIX@; ) @CREATE_TABLE_SUFFIX@;
CREATE INDEX @PREFIX@groups_idx1 ON @PREFIX@groups (Name); CREATE INDEX @PREFIX@groups_idx1 ON @PREFIX@groups (Name);
/* Group attributes */ /* Group attributes */
CREATE TABLE @PREFIX@group_attributes ( CREATE TABLE @PREFIX@group_attributes (
ID @SERIAL_TYPE@, ID @SERIAL_TYPE@,
...@@ -65,8 +61,6 @@ CREATE TABLE @PREFIX@group_attributes ( ...@@ -65,8 +61,6 @@ CREATE TABLE @PREFIX@group_attributes (
FOREIGN KEY (GroupID) REFERENCES @PREFIX@groups(ID) FOREIGN KEY (GroupID) REFERENCES @PREFIX@groups(ID)
) @CREATE_TABLE_SUFFIX@; ) @CREATE_TABLE_SUFFIX@;
/* User to group mapping */ /* User to group mapping */
CREATE TABLE @PREFIX@users_to_groups ( CREATE TABLE @PREFIX@users_to_groups (
ID @SERIAL_TYPE@, ID @SERIAL_TYPE@,
...@@ -84,27 +78,6 @@ CREATE TABLE @PREFIX@users_to_groups ( ...@@ -84,27 +78,6 @@ CREATE TABLE @PREFIX@users_to_groups (
CREATE INDEX @PREFIX@users_to_groups_idx1 ON @PREFIX@users_to_groups (UserID,GroupID); CREATE INDEX @PREFIX@users_to_groups_idx1 ON @PREFIX@users_to_groups (UserID,GroupID);
/* Topups */
CREATE TABLE @PREFIX@topups (
ID @SERIAL_TYPE@,
UserID @SERIAL_REF_TYPE@ NOT NULL,
Timestamp DATETIME,
/* 1 = traffic topup, 2 = uptime topup */
Type @INT_UNSIGNED@,
ValidFrom DATETIME,
ValidTo DATETIME,
Value @INT_UNSIGNED@,
Depleted SMALLINT NOT NULL DEFAULT '0',
FOREIGN KEY (UserID) REFERENCES @PREFIX@users(ID)
) @CREATE_TABLE_SUFFIX@;
/* Realms */ /* Realms */
CREATE TABLE @PREFIX@realms ( CREATE TABLE @PREFIX@realms (
...@@ -117,8 +90,6 @@ CREATE TABLE @PREFIX@realms ( ...@@ -117,8 +90,6 @@ CREATE TABLE @PREFIX@realms (
) @CREATE_TABLE_SUFFIX@; ) @CREATE_TABLE_SUFFIX@;
CREATE INDEX @PREFIX@realms_idx1 ON @PREFIX@realms (Name); CREATE INDEX @PREFIX@realms_idx1 ON @PREFIX@realms (Name);
/* Realm attributes */ /* Realm attributes */
CREATE TABLE @PREFIX@realm_attributes ( CREATE TABLE @PREFIX@realm_attributes (
ID @SERIAL_TYPE@, ID @SERIAL_TYPE@,
...@@ -136,41 +107,40 @@ CREATE TABLE @PREFIX@realm_attributes ( ...@@ -136,41 +107,40 @@ CREATE TABLE @PREFIX@realm_attributes (
/* Topups Summary */ /* Topups */
CREATE TABLE @PREFIX@topups_summary ( CREATE TABLE @PREFIX@topups (
ID @SERIAL_TYPE@, ID @SERIAL_TYPE@,
TopupID @SERIAL_REF_TYPE@ NOT NULL, UserID @SERIAL_REF_TYPE@ NOT NULL,
PeriodKey VARCHAR(255) NOT NULL, Timestamp DATETIME,
Balance @INT_UNSIGNED@, /* 1 = traffic topup, 2 = uptime topup */
Type @INT_UNSIGNED@,
ValidFrom DATETIME,
ValidTo DATETIME,
Value @INT_UNSIGNED@,
Depleted SMALLINT NOT NULL DEFAULT '0', Depleted SMALLINT NOT NULL DEFAULT '0',
FOREIGN KEY (TopupID) REFERENCES @PREFIX@topups(ID) FOREIGN KEY (UserID) REFERENCES @PREFIX@users(ID)
) @CREATE_TABLE_SUFFIX@; ) @CREATE_TABLE_SUFFIX@;
/* Topups Summary */
/* Accounting Summary */ CREATE TABLE @PREFIX@topups_summary (
CREATE TABLE @PREFIX@accounting_summary (
ID @SERIAL_TYPE@, ID @SERIAL_TYPE@,
Username VARCHAR(255), TopupID @SERIAL_REF_TYPE@ NOT NULL,
PeriodKey DATETIME,
AcctSessionTime @INT_UNSIGNED@,
AcctInputOctets @INT_UNSIGNED@,
AcctInputGigawords @INT_UNSIGNED@, PeriodKey VARCHAR(255) NOT NULL,
AcctInputPackets @INT_UNSIGNED@, Balance @INT_UNSIGNED@,
AcctOutputOctets @INT_UNSIGNED@, Depleted SMALLINT NOT NULL DEFAULT '0',
AcctOutputGigawords @INT_UNSIGNED@ FOREIGN KEY (TopupID) REFERENCES @PREFIX@topups(ID)
) @CREATE_TABLE_SUFFIX@; ) @CREATE_TABLE_SUFFIX@;
...@@ -228,3 +198,26 @@ CREATE TABLE @PREFIX@accounting ( ...@@ -228,3 +198,26 @@ CREATE TABLE @PREFIX@accounting (
AcctTerminateCause @INT_UNSIGNED@ AcctTerminateCause @INT_UNSIGNED@
) @CREATE_TABLE_SUFFIX@; ) @CREATE_TABLE_SUFFIX@;
CREATE INDEX @PREFIX@accounting_idx1 ON @PREFIX@accounting (Username); CREATE INDEX @PREFIX@accounting_idx1 ON @PREFIX@accounting (Username);
/* Accounting Summary */
CREATE TABLE @PREFIX@accounting_summary (
ID @SERIAL_TYPE@,
Username VARCHAR(255),
PeriodKey DATETIME,
AcctSessionTime @INT_UNSIGNED@,
AcctInputOctets @INT_UNSIGNED@,
AcctInputGigawords @INT_UNSIGNED@,
AcctInputPackets @INT_UNSIGNED@,
AcctOutputOctets @INT_UNSIGNED@,
AcctOutputGigawords @INT_UNSIGNED@
) @CREATE_TABLE_SUFFIX@;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment