mirror of
https://github.com/Neetpone/ponepaste.git
synced 2025-03-11 14:10:06 +01:00
214 lines
7 KiB
MySQL
214 lines
7 KiB
MySQL
|
drop database if exists ponepaste;
|
||
|
create database ponepaste;
|
||
|
use ponepaste;
|
||
|
|
||
|
DELIMITER $$
|
||
|
|
||
|
CREATE PROCEDURE ExecuteScript()
|
||
|
BEGIN
|
||
|
DECLARE exit handler for sqlexception
|
||
|
BEGIN
|
||
|
ROLLBACK;
|
||
|
END;
|
||
|
|
||
|
START TRANSACTION;
|
||
|
|
||
|
create table admin
|
||
|
(
|
||
|
id int auto_increment
|
||
|
primary key,
|
||
|
user varchar(250) null,
|
||
|
pass varchar(250) null
|
||
|
);
|
||
|
|
||
|
create table admin_history
|
||
|
(
|
||
|
id int auto_increment
|
||
|
primary key,
|
||
|
last_date varchar(255) null,
|
||
|
ip varchar(255) null
|
||
|
);
|
||
|
|
||
|
create table ads
|
||
|
(
|
||
|
id int auto_increment
|
||
|
primary key,
|
||
|
text_ads longtext null,
|
||
|
ads_1 longtext null,
|
||
|
ads_2 longtext null
|
||
|
);
|
||
|
|
||
|
create table ban_user
|
||
|
(
|
||
|
id int auto_increment
|
||
|
primary key,
|
||
|
ip varchar(16) not null,
|
||
|
last_date varchar(15) not null
|
||
|
);
|
||
|
|
||
|
create table page_view
|
||
|
(
|
||
|
id int auto_increment
|
||
|
primary key,
|
||
|
date varchar(255) null,
|
||
|
tpage varchar(255) null,
|
||
|
tvisit varchar(255) null
|
||
|
);
|
||
|
|
||
|
create table pages
|
||
|
(
|
||
|
id int auto_increment
|
||
|
primary key,
|
||
|
last_date varchar(255) null,
|
||
|
page_name varchar(255) null,
|
||
|
page_title longtext null,
|
||
|
page_content longtext null
|
||
|
);
|
||
|
|
||
|
create table sitemap_options
|
||
|
(
|
||
|
id int auto_increment
|
||
|
primary key,
|
||
|
priority varchar(255) null,
|
||
|
changefreq varchar(255) null
|
||
|
);
|
||
|
|
||
|
create table tags
|
||
|
(
|
||
|
id int auto_increment
|
||
|
primary key,
|
||
|
name varchar(255) not null,
|
||
|
slug varchar(255) not null,
|
||
|
constraint tags_name_uindex
|
||
|
unique (name),
|
||
|
constraint tags_slug_uindex
|
||
|
unique (slug)
|
||
|
);
|
||
|
|
||
|
create table user_reports
|
||
|
(
|
||
|
id int auto_increment
|
||
|
primary key,
|
||
|
m_report longtext not null,
|
||
|
p_report int not null,
|
||
|
rep_reason tinyint(1) not null,
|
||
|
t_report int not null
|
||
|
);
|
||
|
|
||
|
create table users
|
||
|
(
|
||
|
id int auto_increment
|
||
|
primary key,
|
||
|
oauth_uid longtext null,
|
||
|
username varchar(255) null,
|
||
|
email_id varchar(255) null,
|
||
|
platform longtext null,
|
||
|
password varchar(255) null,
|
||
|
verified tinyint(1) default 0 not null,
|
||
|
picture longtext null,
|
||
|
date longtext null,
|
||
|
ip longtext null,
|
||
|
badge tinyint(1) unsigned zerofill default 0 not null,
|
||
|
banned tinyint(1) default 0 not null,
|
||
|
recovery_code_hash varchar(255) not null,
|
||
|
admin tinyint(1) default 0 not null,
|
||
|
admin_password_hash varchar(64) null,
|
||
|
created_at datetime default now() not null,
|
||
|
updated_at datetime not null,
|
||
|
constraint users_username_uindex
|
||
|
unique (username)
|
||
|
);
|
||
|
|
||
|
INSERT INTO users (id, username, created_at, updated_at, recovery_code_hash) VALUES (1, 'anonfilly', NOW(), NOW(), "");
|
||
|
|
||
|
create table admin_logs
|
||
|
(
|
||
|
id int auto_increment
|
||
|
primary key,
|
||
|
user_id int not null,
|
||
|
action int not null,
|
||
|
time timestamp default current_timestamp() not null on update current_timestamp(),
|
||
|
ip varchar(16) not null,
|
||
|
constraint admin_logs_users_id_fk
|
||
|
foreign key (user_id) references users (id)
|
||
|
on update cascade on delete cascade
|
||
|
);
|
||
|
|
||
|
create table pastes
|
||
|
(
|
||
|
id int auto_increment
|
||
|
primary key,
|
||
|
title longtext null,
|
||
|
content longtext null,
|
||
|
visible longtext null,
|
||
|
code longtext null,
|
||
|
expiry longtext null,
|
||
|
password longtext null,
|
||
|
encrypt longtext null,
|
||
|
ip longtext null,
|
||
|
views int null,
|
||
|
s_date longtext null,
|
||
|
tagsys longtext null,
|
||
|
user_id int null,
|
||
|
created_at datetime default current_timestamp() null,
|
||
|
updated_at datetime default current_timestamp() null,
|
||
|
constraint users_id_fkey
|
||
|
foreign key (user_id) references users (id)
|
||
|
);
|
||
|
|
||
|
create table paste_taggings
|
||
|
(
|
||
|
id int auto_increment
|
||
|
primary key,
|
||
|
paste_id int null,
|
||
|
tag_id int null,
|
||
|
constraint paste_taggings_uindex
|
||
|
unique (paste_id, tag_id),
|
||
|
constraint paste_taggings_ibfk_2
|
||
|
foreign key (tag_id) references tags (id),
|
||
|
constraint paste_taggings_ibfk_3
|
||
|
foreign key (paste_id) references pastes (id)
|
||
|
on delete cascade
|
||
|
);
|
||
|
|
||
|
create index tag_id
|
||
|
on paste_taggings (tag_id);
|
||
|
|
||
|
create table user_favourites
|
||
|
(
|
||
|
id int auto_increment
|
||
|
primary key,
|
||
|
paste_id int null,
|
||
|
f_time datetime default current_timestamp() not null,
|
||
|
user_id int not null,
|
||
|
constraint paste_id_fk
|
||
|
foreign key (paste_id) references pastes (id),
|
||
|
constraint user_id_fk
|
||
|
foreign key (user_id) references users (id)
|
||
|
);
|
||
|
|
||
|
create table user_sessions
|
||
|
(
|
||
|
id int auto_increment
|
||
|
primary key,
|
||
|
user_id int not null,
|
||
|
token varchar(255) not null,
|
||
|
expire_at datetime not null,
|
||
|
created_at datetime default current_timestamp() not null,
|
||
|
updated_at datetime default current_timestamp() not null,
|
||
|
constraint user_sessions_token_uindex
|
||
|
unique (token),
|
||
|
constraint user_sessions_users_id_fk
|
||
|
foreign key (user_id) references users (id)
|
||
|
);
|
||
|
|
||
|
-- Commit the transaction if no errors occurred
|
||
|
COMMIT;
|
||
|
END $$
|
||
|
|
||
|
DELIMITER ;
|
||
|
|
||
|
CALL ExecuteScript();
|
||
|
|
||
|
DROP PROCEDURE IF EXISTS ExecuteScript;
|