Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


-- Categories


CREATE TABLE m_feedback_category (
  CategoryID CHAR(36) PRIMARY KEY,
  Label VARCHAR(128) NOT NULL,
  Scope ENUM('GLOBAL','1097','104','HWC','MMU','TM','ECD') NOT NULL DEFAULT 'GLOBAL',
  Active BIT(1) NOT NULL DEFAULT b'1',
  ValueSlug VARCHAR(64) NOT NULL
       COMMENT 'Stable machine identifier; lowercase alphanumeric with optional dashes; must match ^[a-z0-9]+(?:-[a-z0-9]+)*$',
  CreatedAt DATETIME NOT NULL,
  UpdatedAt DATETIME NOT NULL,
) ;  CONSTRAINT uq_category_slug UNIQUE (Slug),
  CONSTRAINT chk_category_slug_format CHECK (Slug REGEXP '^[a-z0-9]+(-[a-z0-9]+)*$')


-- Feedback (content)


CREATE TABLE m_platform_feedback (
  FeedbackID CHAR(36) PRIMARY KEY,
  CreatedAt DATETIME NOT NULL,
  UpdatedAt DATETIME NOT NULL,
  Rating TINYINT NOT NULL CHECK (Rating BETWEEN 1 AND 5),
  CategoryID CHAR(36) NOT NULL,
  Comment TEXT NOT NULL,
  ServiceLine ENUM('1097','104','HWC','MMU','TM','ECD') NOT NULL,
  IsAnonymous BIT(1) NOT NULL DEFAULT b'1',
  UserID INT,
  CONSTRAINT fk_platform_feedback_user FOREIGN KEY (UserID) REFERENCES m_user(UserID),
  CONSTRAINT fk_platform_feedback_category FOREIGN KEY (CategoryID) REFERENCES m_feedback_category(CategoryID)
);


CREATE INDEX ix_feedback_CreatedAt   ON m_platform_feedback (CreatedAt);
CREATE INDEX ix_feedback_ServiceLine ON m_platform_feedback (ServiceLine);
CREATE INDEX ix_feedback_CategoryID  ON m_platform_feedback (CategoryID);
CREATE INDEX ix_feedback_IsAnonymous ON m_platform_feedback (IsAnonymous);


...