1
0
Fork 0
mirror of https://github.com/Lynnesbian/FediBooks/ synced 2024-11-25 16:48:58 +00:00
FediBooks/setup.sql

69 lines
2.6 KiB
MySQL
Raw Normal View History

2019-09-01 05:57:42 +00:00
USE `fedibooks`;
2019-08-31 10:34:45 +00:00
CREATE TABLE IF NOT EXISTS `users` (
`id` BINARY(64) PRIMARY KEY,
`email` VARCHAR(128) UNIQUE NOT NULL,
`password` BINARY(60) NOT NULL
2019-09-01 06:02:25 +00:00
) ENGINE=INNODB;
2019-08-31 10:34:45 +00:00
CREATE TABLE IF NOT EXISTS `contact_settings` (
2019-09-01 06:01:53 +00:00
`user_id` BINARY(64) NOT NULL,
2019-08-31 10:34:45 +00:00
`fetch` ENUM('always', 'once', 'never') DEFAULT 'once',
`submit` ENUM('always', 'once', 'never') DEFAULT 'once',
`generation` ENUM('always', 'once', 'never') DEFAULT 'once',
2019-09-01 06:10:30 +00:00
`reply` ENUM('always', 'once', 'never') DEFAULT 'once',
FOREIGN KEY (`user_id`) REFERENCES users(id) ON DELETE CASCADE
) ENGINE=INNODB;
CREATE TABLE IF NOT EXISTS `credentials` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`client_id` VARCHAR(128) NOT NULL,
`client_secret` VARCHAR(128) NOT NULL,
`secret` VARCHAR(128) NOT NULL
2019-09-01 06:02:25 +00:00
) ENGINE=INNODB;
2019-08-31 10:34:45 +00:00
CREATE TABLE IF NOT EXISTS `bots` (
`id` BINARY(64) PRIMARY KEY,
2019-09-01 06:10:30 +00:00
`user_id` BINARY(64) NOT NULL,
2019-09-01 06:01:53 +00:00
`credentials_id` INT NOT NULL,
2019-08-31 10:34:45 +00:00
`enabled` BOOLEAN DEFAULT 1,
`replies_enabled` BOOLEAN DEFAULT 1,
2019-08-31 10:38:40 +00:00
`post_frequency` SMALLINT UNSIGNED DEFAULT 30,
2019-08-31 10:34:45 +00:00
`content_warning` VARCHAR(128),
2019-08-31 10:38:40 +00:00
`length` SMALLINT UNSIGNED DEFAULT 500,
2019-08-31 10:34:45 +00:00
`fake_mentions` ENUM('always', 'start', 'never') DEFAULT 'start',
`fake_mentions_full` BOOLEAN DEFAULT 0,
`post_privacy` ENUM('public', 'unlisted', 'followers_only') DEFAULT 'unlisted',
`learn_from_cw` BOOLEAN DEFAULT 0,
`last_post` DATETIME DEFAULT 0,
2019-09-01 05:06:25 +00:00
`icon` VARCHAR(512),
`icon_update_time` DATETIME DEFAULT 0,
2019-09-01 06:01:53 +00:00
FOREIGN KEY (`user_id`) REFERENCES users(id) ON DELETE CASCADE,
2019-08-31 10:34:45 +00:00
FOREIGN KEY (`credentials_id`) REFERENCES credentials(id) ON DELETE CASCADE
2019-09-01 06:02:25 +00:00
) ENGINE=INNODB;
2019-08-31 10:34:45 +00:00
CREATE TABLE IF NOT EXISTS `fedi_account` (
2019-08-31 14:08:58 +00:00
`handle` VARCHAR(128) NOT NULL PRIMARY KEY,
`outbox` VARCHAR(256),
2019-09-01 06:01:53 +00:00
`credentials_id` INT NOT NULL,
2019-09-01 05:06:25 +00:00
`icon` VARCHAR(512),
`icon_update_time` DATETIME DEFAULT 0,
2019-08-31 10:34:45 +00:00
FOREIGN KEY (`credentials_id`) REFERENCES credentials(id) ON DELETE CASCADE
2019-09-01 06:02:25 +00:00
) ENGINE=INNODB;
2019-08-31 10:34:45 +00:00
CREATE TABLE IF NOT EXISTS `posts` (
`id` BIGINT AUTO_INCREMENT PRIMARY KEY,
`post_id` VARCHAR(64) NOT NULL,
2019-09-01 05:57:42 +00:00
`content` TEXT NOT NULL,
2019-08-31 10:34:45 +00:00
`cw` BOOLEAN NOT NULL
2019-09-01 06:02:25 +00:00
) ENGINE=INNODB;
2019-09-01 03:59:44 +00:00
CREATE TABLE IF NOT EXISTS `word_blacklist` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
2019-09-01 06:01:53 +00:00
`bot_id` BINARY(64) NOT NULL,
2019-09-01 03:59:44 +00:00
`phrase` VARCHAR(128) NOT NULL,
2019-09-01 06:10:30 +00:00
`whole_word` BOOLEAN NOT NULL,
FOREIGN KEY (`bot_id`) REFERENCES bots(id) ON DELETE CASCADE
2019-09-01 06:02:25 +00:00
) ENGINE=INNODB;
CREATE TABLE IF NOT EXISTS `contact_history` (
2019-09-01 06:01:53 +00:00
`user_id` BINARY(64) NOT NULL,
`fetch` BOOLEAN DEFAULT 0,
`submit` BOOLEAN DEFAULT 0,
`generation` BOOLEAN DEFAULT 0,
2019-09-01 06:10:30 +00:00
`reply` BOOLEAN DEFAULT 0,
FOREIGN KEY (`user_id`) REFERENCES users(id) ON DELETE CASCADE
2019-09-01 06:02:25 +00:00
) ENGINE=INNODB;