generated from jric11/baseProject
33 lines
1.6 KiB
SQL
33 lines
1.6 KiB
SQL
|
|
CREATE TABLE IF NOT EXISTS email_verifications (
|
||
|
|
token_hash CHAR(64) CHARACTER SET ascii COLLATE ascii_bin PRIMARY KEY,
|
||
|
|
user_serial BIGINT UNSIGNED NOT NULL,
|
||
|
|
email VARCHAR(100) NOT NULL,
|
||
|
|
auth_version INT UNSIGNED NOT NULL,
|
||
|
|
expires_at DATETIME NOT NULL,
|
||
|
|
INDEX(user_serial), INDEX(expires_at),
|
||
|
|
FOREIGN KEY(user_serial) REFERENCES users(user_serial) ON DELETE CASCADE
|
||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||
|
|
CREATE TABLE IF NOT EXISTS club_due_adjustments (
|
||
|
|
adjustment_serial BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
||
|
|
due_serial BIGINT UNSIGNED NOT NULL,
|
||
|
|
amount_cents BIGINT NOT NULL,
|
||
|
|
corrected_amount_cents BIGINT UNSIGNED NOT NULL,
|
||
|
|
reason VARCHAR(500) NOT NULL,
|
||
|
|
recorded_by BIGINT UNSIGNED NOT NULL,
|
||
|
|
request_key CHAR(64) CHARACTER SET ascii COLLATE ascii_bin NOT NULL UNIQUE,
|
||
|
|
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
FOREIGN KEY(due_serial) REFERENCES club_dues(due_serial) ON DELETE RESTRICT,
|
||
|
|
FOREIGN KEY(recorded_by) REFERENCES users(user_serial) ON DELETE RESTRICT,
|
||
|
|
CHECK(amount_cents<>0)
|
||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||
|
|
CREATE TABLE IF NOT EXISTS club_payment_reversals (
|
||
|
|
reversal_serial BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
||
|
|
payment_serial BIGINT UNSIGNED NOT NULL UNIQUE,
|
||
|
|
reason VARCHAR(500) NOT NULL,
|
||
|
|
recorded_by BIGINT UNSIGNED NOT NULL,
|
||
|
|
request_key CHAR(64) CHARACTER SET ascii COLLATE ascii_bin NOT NULL UNIQUE,
|
||
|
|
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
FOREIGN KEY(payment_serial) REFERENCES club_payments(payment_serial) ON DELETE RESTRICT,
|
||
|
|
FOREIGN KEY(recorded_by) REFERENCES users(user_serial) ON DELETE RESTRICT
|
||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|