datasets/bat/setup/db_blog/sqlserver/setup.sql (366 lines of code) (raw):
CREATE TABLE dbo.tbl_attachments (
attachment_id INT NOT NULL PRIMARY KEY,
post_id INT NULL,
user_id INT NULL,
file_name NVARCHAR(255) NULL,
file_path NVARCHAR(255) NULL,
file_size INT NULL,
file_type NVARCHAR(50) NULL,
upload_date DATETIME NULL,
description VARCHAR(MAX) NULL,
is_active BIT NULL,
visibility_status NVARCHAR(20) NULL,
download_count INT NULL,
file_extension NVARCHAR(10) NULL,
uploaded_by_ip NVARCHAR(15) NULL,
last_modified DATETIME NULL,
expiration_date DATETIME NULL,
tags_file NVARCHAR(MAX) NULL CONSTRAINT chk_tags_file_json CHECK (ISJSON(tags_file) = 1),
category_file NVARCHAR(MAX) NULL CONSTRAINT chk_category_file_json CHECK (ISJSON(category_file) = 1),
access_permissions NVARCHAR(MAX) NULL CONSTRAINT chk_access_permissions_json CHECK (ISJSON(access_permissions) = 1),
storage_location NVARCHAR(255) NULL,
metadata NVARCHAR(MAX) NULL CONSTRAINT chk_metadata_json CHECK (ISJSON(metadata) = 1),
is_featured BIT NULL,
parent_attachment_id INT NULL
);
CREATE TABLE dbo.tbl_categories (
category_id INT NOT NULL PRIMARY KEY,
created_by INT NULL,
updated_by INT NULL,
name NVARCHAR(255) NULL,
description VARCHAR(MAX) NULL,
created_at DATETIME NULL,
updated_at DATETIME NULL,
parent_category INT NULL,
slug NVARCHAR(255) NULL,
image NVARCHAR(255) NULL,
count INT NULL,
visibility BIT NULL,
is_edited BIT NULL
);
CREATE TABLE dbo.tbl_categories_hierarchy (
category_hierarchy_id INT NOT NULL PRIMARY KEY,
category_id INT NULL,
created_by INT NULL,
updated_by INT NULL,
name NVARCHAR(255) NULL,
description VARCHAR(MAX) NULL,
created_at DATETIME NULL,
updated_at DATETIME NULL,
status NVARCHAR(50) NULL,
visibility NVARCHAR(50) NULL,
orden_priority INT NULL,
icon NVARCHAR(255) NULL,
color NVARCHAR(50) NULL,
metadata VARCHAR(MAX) NULL,
parent_category_name NVARCHAR(255) NULL
);
CREATE TABLE dbo.tbl_comments (
comment_id INT NOT NULL PRIMARY KEY,
content VARCHAR(MAX) NULL,
user_id INT NULL,
post_id INT NULL,
parent_comment_id INT NULL,
likes_count INT NULL,
created_at DATETIME NULL,
updated_at DATETIME NULL,
is_approved BIT NULL,
dislikes_count INT NULL,
report_count INT NULL,
is_deleted BIT NULL,
user_ip NVARCHAR(255) NULL,
user_agent NVARCHAR(255) NULL,
is_flagged BIT NULL,
reply_count INT NULL,
mentions NVARCHAR(MAX) NULL CONSTRAINT chk_mentions_json CHECK (ISJSON(mentions) = 1),
attachments NVARCHAR(MAX) NULL CONSTRAINT chk_attachments_json CHECK (ISJSON(attachments) = 1),
metadata NVARCHAR(MAX) NULL CONSTRAINT chk_comments_metadata_json CHECK (ISJSON(metadata) = 1),
is_edited BIT NULL
);
CREATE TABLE dbo.tbl_country (
country_name NVARCHAR(255) NOT NULL PRIMARY KEY,
country_id INT NULL,
continent NVARCHAR(255) NULL,
region NVARCHAR(255) NULL,
X FLOAT NULL,
Y FLOAT NULL
);
CREATE TABLE dbo.tbl_followers (
follower_id INT NOT NULL PRIMARY KEY,
following_id INT NULL,
created_at DATETIME NULL,
updated_at DATETIME NULL,
follower_data NVARCHAR(MAX) NULL CONSTRAINT chk_follower_data_json CHECK (ISJSON(follower_data) = 1)
);
CREATE TABLE dbo.tbl_labels (
label_id INT NOT NULL PRIMARY KEY,
creator_id INT NULL,
updated_by INT NULL,
name NVARCHAR(255) NULL,
description NVARCHAR(MAX) NULL,
created_at DATETIME NULL,
updated_at DATETIME NULL,
post_count INT NULL,
visibility_status NVARCHAR(50) NULL,
is_active BIT NULL,
usage_frequency INT NULL,
parent_label_id INT NULL
);
CREATE TABLE dbo.tbl_media (
media_id INT NOT NULL PRIMARY KEY,
post_id INT NULL,
type NVARCHAR(255) NULL,
url NVARCHAR(255) NULL,
description NVARCHAR(MAX) NULL,
upload_date DATETIME NULL,
updated_at DATETIME NULL,
filename NVARCHAR(255) NULL,
file_size INT NULL,
caption NVARCHAR(MAX) NULL,
uploader_id INT NULL,
visibility NVARCHAR(50) NULL,
access_rights NVARCHAR(MAX) NULL,
file_path NVARCHAR(255) NULL,
metadata NVARCHAR(MAX) NULL,
hash NVARCHAR(255) NULL,
is_encrypted BIT NULL,
encryption_key NVARCHAR(255) NULL,
encryption_algorithm NVARCHAR(50) NULL,
status_id INT NULL
);
CREATE TABLE dbo.tbl_notifications (
notification_id INT NOT NULL PRIMARY KEY,
user_id INT NULL,
notification_type NVARCHAR(255) NULL,
sender_id INT NULL,
post_id INT NULL,
comment_id INT NULL,
notification_message NVARCHAR(MAX) NULL,
notification_date DATETIME NULL,
is_read BIT NULL,
is_archived BIT NULL,
is_deleted BIT NULL,
link_to_notification NVARCHAR(255) NULL,
notification_priority INT NULL,
additional_data NVARCHAR(MAX) NULL,
notification_subject NVARCHAR(255) NULL,
notification_status NVARCHAR(50) NULL,
notification_action NVARCHAR(50) NULL,
related_user_id INT NULL,
source_application NVARCHAR(255) NULL,
notification_category NVARCHAR(255) NULL,
expiration_date DATETIME NULL,
delivery_method NVARCHAR(50) NULL,
notification_channel NVARCHAR(50) NULL,
notification_language NVARCHAR(50) NULL,
recipient_group NVARCHAR(255) NULL,
notification_tags NVARCHAR(MAX) NULL,
notification_expiry_time DATETIME NULL,
notification_context NVARCHAR(MAX) NULL,
notification_origin NVARCHAR(255) NULL
);
CREATE TABLE dbo.tbl_posts (
post_id INT NOT NULL PRIMARY KEY,
user_id INT NULL,
title NVARCHAR(255) NULL,
content NVARCHAR(MAX) NULL,
published_at DATETIME NULL,
is_published BIT NULL,
views_count INT NULL,
likes_count INT NULL,
shares_count INT NULL,
created_at DATETIME NULL,
updated_at DATETIME NULL,
slug NVARCHAR(255) NULL,
excerpt NVARCHAR(MAX) NULL,
status_id INT NULL,
category_id INT NULL,
dislikes_count INT NULL,
comments_count INT NULL,
is_featured BIT NULL,
author_name NVARCHAR(255) NULL,
image_url NVARCHAR(255) NULL,
tags NVARCHAR(MAX) NULL,
reading_time INT NULL,
external_link NVARCHAR(255) NULL,
metadata NVARCHAR(MAX) NULL
);
CREATE TABLE dbo.tbl_posts_tags (
post_id INT NOT NULL,
tag_id INT NOT NULL,
comments NVARCHAR(MAX) NULL,
label_status NVARCHAR(50) NULL,
label_at DATETIME NULL
PRIMARY KEY (post_id, tag_id),
);
CREATE TABLE dbo.tbl_private_messages (
message_id INT NOT NULL PRIMARY KEY,
sender_id INT NULL,
receiver_id INT NULL,
subject NVARCHAR(255) NULL,
body NVARCHAR(MAX) NULL,
sending_time DATETIME NULL,
is_read BIT NULL,
is_archived BIT NULL,
is_deleted_by_sender BIT NULL,
is_deleted_by_receiver BIT NULL,
is_flagged BIT NULL,
priority INT NULL,
attachment_id INT NULL,
conversation_id INT NULL,
status NVARCHAR(50) NULL,
parent_message_id INT NULL,
read_timestamp DATETIME NULL,
message_data NVARCHAR(MAX) NULL
);
CREATE TABLE dbo.tbl_reactions (
reaction_id INT NOT NULL PRIMARY KEY,
comment_id INT NULL,
user_id INT NULL,
post_id INT NULL,
reaction_type NVARCHAR(255) NULL,
reaction_date DATETIME NULL,
reaction_score INT NULL,
reaction_text NVARCHAR(MAX) NULL,
is_active BIT NULL,
reaction_count INT NULL,
source_ip NVARCHAR(255) NULL,
device_info NVARCHAR(MAX) NULL
);
CREATE TABLE dbo.tbl_reports (
report_id INT NOT NULL PRIMARY KEY,
user_id INT NULL,
post_id INT NULL,
report_reason NVARCHAR(255) NULL,
report_timestamp DATETIME NULL,
is_resolved BIT NULL,
resolved_by INT NULL,
resolution_timestamp DATETIME NULL,
report_comments NVARCHAR(MAX) NULL,
severity_level INT NULL,
report_type NVARCHAR(50) NULL,
report_entity_type NVARCHAR(50) NULL,
report_entity_id INT NULL,
action_taken NVARCHAR(MAX) NULL,
action_timestamp DATETIME NULL,
report_ip_address NVARCHAR(15) NULL,
reported_user_id INT NULL,
reported_comment_id INT NULL,
reported_user_reputation INT NULL,
report_category NVARCHAR(50) NULL,
reported_context_text NVARCHAR(MAX) NULL,
attachments NVARCHAR(MAX) NULL,
flagged_user BIT NULL,
report_source NVARCHAR(50) NULL,
report_feedback NVARCHAR(MAX) NULL,
report_verification_status NVARCHAR(50) NULL,
report_mechanism NVARCHAR(50) NULL,
report_priority INT NULL,
assigned_to INT NULL,
report_history NVARCHAR(MAX) NULL
);
CREATE TABLE dbo.tbl_status (
status_id INT NOT NULL PRIMARY KEY,
Name NVARCHAR(255) NULL
);
CREATE TABLE dbo.tbl_tags (
tag_id INT NOT NULL PRIMARY KEY,
creator_id INT NULL,
category_id INT NULL,
name NVARCHAR(255) NULL,
description NVARCHAR(MAX) NULL,
created_at DATETIME NULL,
updated_at DATETIME NULL,
slug NVARCHAR(255) NULL,
count INT NULL,
visibility BIT NULL,
active BIT NULL,
parent_tag INT NULL,
status_id INT NULL,
access_level INT NULL,
is_approved BIT NULL,
metadata NVARCHAR(MAX) NULL,
is_edited BIT NULL
);
CREATE TABLE dbo.tbl_tags_hierarchy (
tag_hierarchy_id INT NOT NULL PRIMARY KEY,
tag_id INT NULL,
relationship_type NVARCHAR(255) NULL,
weight DECIMAL(10, 2) NULL,
created_at DATETIME NULL,
updated_at DATETIME NULL,
active BIT NULL,
description NVARCHAR(MAX) NULL,
creator_id INT NULL,
modifier_id INT NULL,
is_deleted BIT NULL,
deleted_at DATETIME NULL,
revision_history NVARCHAR(MAX) NULL,
comments NVARCHAR(MAX) NULL
);
CREATE TABLE dbo.tbl_user_activity (
activity_id INT NOT NULL PRIMARY KEY,
user_id INT NULL,
activity_type NVARCHAR(255) NULL,
activity_timestamp DATETIME NULL,
post_id INT NULL,
comment_id INT NULL,
activity_description NVARCHAR(MAX) NULL,
activity_source NVARCHAR(255) NULL,
activity_location NVARCHAR(255) NULL,
activity_duration INT NULL,
activity_device NVARCHAR(255) NULL,
activity_status NVARCHAR(50) NULL,
activity_impact NVARCHAR(50) NULL,
activity_privacy_level NVARCHAR(50) NULL,
activity_related_users NVARCHAR(MAX) NULL,
activiy_extra_data NVARCHAR(MAX) NULL,
ip_address NVARCHAR(15) NULL,
user_agent NVARCHAR(255) NULL,
url NVARCHAR(255) NULL,
session_id NVARCHAR(255) NULL,
browser NVARCHAR(255) NULL,
operating_system NVARCHAR(255) NULL,
referrer NVARCHAR(255) NULL,
event_id INT NULL,
error_message NVARCHAR(MAX) NULL,
location_coordinates NVARCHAR(MAX) NULL,
session_duration INT NULL
);
CREATE TABLE dbo.tbl_user_roles (
role_id INT NOT NULL PRIMARY KEY,
created_by INT NULL,
updated_by INT NULL,
description NVARCHAR(255) NULL,
created_at DATETIME DEFAULT GETDATE(),
updated_at DATETIME DEFAULT GETDATE(),
permissions NVARCHAR(MAX) NULL,
role_name NVARCHAR(50) NULL,
is_active BIT NULL,
restrictions NVARCHAR(MAX) NULL,
expiry_date DATE NULL,
created_by_ip NVARCHAR(50) NULL,
updated_by_ip NVARCHAR(50) NULL,
created_by_device NVARCHAR(100) NULL,
updated_by_device NVARCHAR(100) NULL,
active_sessions INT NULL,
last_sessions NVARCHAR(MAX) NULL
);
CREATE TABLE dbo.tbl_users (
user_id INT NOT NULL PRIMARY KEY,
first_name NVARCHAR(255) NULL,
last_name NVARCHAR(255) NULL,
username NVARCHAR(255) NULL,
password_hash NVARCHAR(255) NULL,
social_media_links NVARCHAR(MAX) NULL,
contact_info NVARCHAR(MAX) NULL,
avatar_url NVARCHAR(255) NULL,
bio NVARCHAR(MAX) NULL,
website NVARCHAR(255) NULL,
created_at DATETIME DEFAULT GETDATE(),
updated_at DATETIME DEFAULT GETDATE(),
notification_preferences NVARCHAR(255) NULL,
role_id INT NULL,
last_login DATETIME NULL,
active BIT NULL
);