dkforest

A forum and chat platform (onion)
git clone https://git.dasho.dev/n0tr1v/dkforest.git
Log | Files | Refs | LICENSE

91.sql (1516B)


      1 -- +migrate Up
      2 
      3 CREATE TABLE IF NOT EXISTS forum_categories (
      4     id INTEGER NOT NULL PRIMARY KEY,
      5     idx INTEGER NOT NULL DEFAULT 0,
      6     name VARCHAR(255) NOT NULL,
      7     slug VARCHAR(255) NOT NULL UNIQUE);
      8 
      9 CREATE TABLE IF NOT EXISTS forum_threads_tmp (
     10     id INTEGER NOT NULL PRIMARY KEY,
     11     uuid VARCHAR(100) UNIQUE NOT NULL,
     12     name VARCHAR(255) NOT NULL,
     13     user_id INTEGER NOT NULL,
     14     category_id INTEGER NOT NULL,
     15     is_club TINYINT(1) NOT NULL DEFAULT 0,
     16     created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
     17     CONSTRAINT forum_threads_user_id_fk
     18         FOREIGN KEY (user_id)
     19             REFERENCES users (id)
     20             ON DELETE CASCADE
     21             ON UPDATE CASCADE,
     22     CONSTRAINT forum_threads_category_id_fk
     23         FOREIGN KEY (category_id)
     24             REFERENCES forum_categories (id)
     25             ON DELETE CASCADE
     26             ON UPDATE CASCADE);
     27 
     28 INSERT INTO forum_categories (id, name, slug) VALUES (1, 'General', 'general');
     29 INSERT INTO forum_categories (id, name, slug) VALUES (2, 'Random', 'random');
     30 
     31 INSERT INTO forum_threads_tmp (id, uuid, name, user_id, category_id, is_club, created_at)
     32 SELECT id, uuid, name, user_id, 1, is_club, created_at FROM forum_threads;
     33 
     34 DROP TABLE forum_threads;
     35 
     36 ALTER TABLE forum_threads_tmp RENAME TO forum_threads;
     37 
     38 CREATE INDEX forum_threads_user_id_idx ON forum_threads (user_id);
     39 CREATE INDEX forum_threads_category_id_idx ON forum_threads (category_id);
     40 CREATE INDEX forum_threads_is_club_idx ON forum_threads (is_club);
     41 
     42 -- +migrate Down