diff --git a/src/main/resources/AccountingManagerTables.sql b/src/main/resources/AccountingManagerTables.sql new file mode 100644 index 0000000..09de9c2 --- /dev/null +++ b/src/main/resources/AccountingManagerTables.sql @@ -0,0 +1,29 @@ +CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; + +CREATE TYPE aggregation_state AS ENUM ('RESTARTED', 'STARTED', 'AGGREGATED', 'DELETED', 'ADDED', 'COMPLETED'); +CREATE TYPE aggregation_type AS ENUM ('DAILY', 'MONTHLY', 'YEARLY'); + +CREATE TABLE "aggregation_status"( + id UUID NOT NULL PRIMARY KEY DEFAULT uuid_generate_v4 (), + record_type TEXT NOT NULL, + aggregation_type aggregation_type NOT NULL, + aggregation_start_date TIMESTAMP WITH TIME ZONE NOT NULL, + aggregation_end_date TIMESTAMP WITH TIME ZONE NOT NULL, + original_records_number NUMERIC NOT NULL, + aggregated_records_number NUMERIC NOT NULL, + recovered_records_number NUMERIC NOT NULL, + malformed_records_number NUMERIC NOT NULL DEFAULT 0, + percentage NUMERIC NOT NULL, + context TEXT, + current_aggregation_state aggregation_state NOT NULL, + last_update_time TIMESTAMP WITH TIME ZONE NOT NULL, + previous UUID REFERENCES aggregation_status (id) +); + +CREATE TABLE "aggregation_status_event"( + aggregation_state aggregation_state NOT NULL, + start_time TIMESTAMP WITH TIME ZONE NOT NULL, + end_time TIMESTAMP WITH TIME ZONE NOT NULL, + aggregation_status UUID REFERENCES aggregation_status (id) ON DELETE CASCADE, + UNIQUE (aggregation_state, start_time, end_time, aggregation_status) +); \ No newline at end of file diff --git a/src/test/resources/JobUsageRecordTable.sql b/src/main/resources/JobUsageRecordTable.sql similarity index 100% rename from src/test/resources/JobUsageRecordTable.sql rename to src/main/resources/JobUsageRecordTable.sql diff --git a/src/test/resources/PortletUsageRecordTable.sql b/src/main/resources/PortletUsageRecordTable.sql similarity index 100% rename from src/test/resources/PortletUsageRecordTable.sql rename to src/main/resources/PortletUsageRecordTable.sql diff --git a/src/test/resources/ServiceUsageRecordTable.sql b/src/main/resources/ServiceUsageRecordTable.sql similarity index 100% rename from src/test/resources/ServiceUsageRecordTable.sql rename to src/main/resources/ServiceUsageRecordTable.sql diff --git a/src/test/resources/StorageStatusRecordTable.sql b/src/main/resources/StorageStatusRecordTable.sql similarity index 100% rename from src/test/resources/StorageStatusRecordTable.sql rename to src/main/resources/StorageStatusRecordTable.sql diff --git a/src/test/resources/StorageUsageRecordTable.sql b/src/main/resources/StorageUsageRecordTable.sql similarity index 100% rename from src/test/resources/StorageUsageRecordTable.sql rename to src/main/resources/StorageUsageRecordTable.sql