mirror of
https://git.sr.ht/~iwakuralain/text0Nly
synced 2025-07-27 07:30:31 +00:00
migrate & create db
This commit is contained in:
parent
3e4ba8b2ff
commit
5c28f478a6
29
main/create.sql
Normal file
29
main/create.sql
Normal file
@ -0,0 +1,29 @@
|
||||
CREATE TABLE messages (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
username VARCHAR(50) NOT NULL,
|
||||
message TEXT NOT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
signature TEXT,
|
||||
is_encrypted BOOLEAN DEFAULT FALSE,
|
||||
INDEX idx_created_at (created_at)
|
||||
);
|
||||
|
||||
CREATE TABLE users (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
username VARCHAR(50) NOT NULL UNIQUE,
|
||||
password VARCHAR(255) NOT NULL,
|
||||
pgp_key TEXT,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
is_moderator TINYINT(1) NOT NULL DEFAULT 0,
|
||||
login_attempts INT NOT NULL DEFAULT 0,
|
||||
last_attempt TIMESTAMP NULL,
|
||||
is_blocked TINYINT(1) NOT NULL DEFAULT 0,
|
||||
block_reason TEXT,
|
||||
INDEX idx_username (username)
|
||||
);
|
||||
|
||||
CREATE TABLE registrations (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
INDEX idx_created_at (created_at)
|
||||
);
|
15
main/migrate.sql
Normal file
15
main/migrate.sql
Normal file
@ -0,0 +1,15 @@
|
||||
DELIMITER //
|
||||
CREATE OR REPLACE PROCEDURE migrate_if_needed()
|
||||
BEGIN
|
||||
IF EXISTS (
|
||||
SELECT * FROM information_schema.columns
|
||||
WHERE table_name = 'registrations' AND column_name = 'ip'
|
||||
) THEN
|
||||
DROP INDEX IF EXISTS idx_ip_created ON registrations;
|
||||
ALTER TABLE registrations DROP COLUMN ip;
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
CALL migrate_if_needed();
|
||||
DROP PROCEDURE IF EXISTS migrate_if_needed;
|
Loading…
x
Reference in New Issue
Block a user