sync
This commit is contained in:
@@ -1,123 +0,0 @@
|
||||
create_db() {
|
||||
/opt/lampp/bin/mariadb -u violet -p -e "DROP DATABASE IF EXISTS vintagecodingdotnet;";
|
||||
/opt/lampp/bin/mariadb -u violet -p -e "CREATE DATABASE vintagecodingdotnet;";
|
||||
|
||||
# Create file_types table.
|
||||
/opt/lampp/bin/mariadb -u violet -p -e "
|
||||
USE vintagecodingdotnet;
|
||||
CREATE TABLE file_types (
|
||||
file_type_id INT PRIMARY KEY AUTO_INCREMENT,
|
||||
file_type VARCHAR(8)
|
||||
);";
|
||||
|
||||
# Create the media table.
|
||||
/opt/lampp/bin/mariadb -u violet -p -e "
|
||||
USE vintagecodingdotnet;
|
||||
CREATE TABLE media (
|
||||
media_id INT PRIMARY KEY,
|
||||
file_name TINYTEXT NOT NULL,
|
||||
file_path VARCHAR(2048) NOT NULL,
|
||||
file_type INT NOT NULL,
|
||||
FOREIGN KEY (file_type) REFERENCES file_types(file_type_id)
|
||||
);";
|
||||
|
||||
# Create the roles table.
|
||||
/opt/lampp/bin/mariadb -u violet -p -e "
|
||||
USE vintagecodingdotnet;
|
||||
CREATE TABLE roles (
|
||||
role_id INT PRIMARY KEY AUTO_INCREMENT,
|
||||
role VARCHAR(32) NOT NULL
|
||||
);";
|
||||
|
||||
# Create the accounts table.
|
||||
/opt/lampp/bin/mariadb -u violet -p -e "
|
||||
USE vintagecodingdotnet;
|
||||
CREATE TABLE accounts (
|
||||
account_id INT PRIMARY KEY,
|
||||
username VARCHAR(32) UNIQUE NOT NULL,
|
||||
first_name VARCHAR(64) NOT NULL,
|
||||
last_name VARCHAR(64) NOT NULL,
|
||||
email VARCHAR(64) UNIQUE NOT NULL,
|
||||
password_hash VARCHAR(64) NOT NULL,
|
||||
role INT NOT NULL,
|
||||
registration_date DATETIME,
|
||||
bio TINYTEXT,
|
||||
profile_picture INT,
|
||||
FOREIGN KEY (role) REFERENCES roles(role_id),
|
||||
FOREIGN KEY (profile_picture) REFERENCES media(media_id)
|
||||
);";
|
||||
|
||||
# Create the article_status table.
|
||||
/opt/lampp/bin/mariadb -u violet -p -e "
|
||||
USE vintagecodingdotnet;
|
||||
CREATE TABLE article_status (
|
||||
status_id INT PRIMARY KEY AUTO_INCREMENT,
|
||||
status VARCHAR(16) NOT NULL
|
||||
);";
|
||||
|
||||
# Create the articles table.
|
||||
/opt/lampp/bin/mariadb -u violet -p -e "
|
||||
USE vintagecodingdotnet;
|
||||
CREATE TABLE articles (
|
||||
article_id INT PRIMARY KEY AUTO_INCREMENT,
|
||||
account_id INT NOT NULL,
|
||||
title VARCHAR(128) UNIQUE NOT NULL,
|
||||
slug VARCHAR(128) UNIQUE NOT NULL,
|
||||
content LONGTEXT NOT NULL,
|
||||
publish_date DATETIME,
|
||||
last_modified DATETIME NOT NULL,
|
||||
status INT NOT NULL,
|
||||
featured_image INT,
|
||||
excerpt VARCHAR(255),
|
||||
FOREIGN KEY (account_id) REFERENCES accounts(account_id),
|
||||
FOREIGN KEY (status) REFERENCES article_status(status_id)
|
||||
);";
|
||||
}
|
||||
|
||||
# Insert data constants into the database.
|
||||
# Acceptable file types: png, jpg, jpeg, svg.
|
||||
# Acceptable roles: administrator, contributor, commenter, guest.
|
||||
# Acceptable article status: published, draft, archived.
|
||||
#
|
||||
# Also creates administrator user
|
||||
const_data() {
|
||||
# Insert the data to the file_types table.
|
||||
# Acceptable file types are png, jpg, jpeg, svg
|
||||
/opt/lampp/bin/mariadb -u violet -p -e "
|
||||
USE vintagecodingdotnet;
|
||||
INSERT INTO file_types (file_type) VALUES ('png'), ('jpg'), ('jpeg'), ('svg');
|
||||
";
|
||||
|
||||
# Insert the data to the roles table.
|
||||
/opt/lampp/bin/mariadb -u violet -p -e "
|
||||
USE vintagecodingdotnet;
|
||||
INSERT INTO roles (role) VALUES ('administrator'), ('contributor'), ('commenter'), ('guest');
|
||||
";
|
||||
|
||||
# Insert the data to the article_status table.
|
||||
/opt/lampp/bin/mariadb -u violet -p -e "
|
||||
USE vintagecodingdotnet;
|
||||
INSERT INTO article_status (status) VALUES ('published'), ('draft'), ('archived');
|
||||
";
|
||||
|
||||
# Create an administrator user.
|
||||
/opt/lampp/bin/mariadb -u violet -p -e "
|
||||
USE vintagecodingdotnet;
|
||||
INSERT INTO accounts
|
||||
(account_id, username, email, password_hash, role, registration_date, bio, profile_picture) VALUES
|
||||
(42, 'admin', 'me@joshashton.dev', 'e03b1a00caa6e8113a3bc3e7101ecbd0fea710f5e091e7b195bdba53bbeb004e', 1, CURDATE(), null, null);
|
||||
";
|
||||
}
|
||||
|
||||
insert_data() {
|
||||
/opt/lampp/bin/mariadb -u violet -p -e "
|
||||
USE vintagecodingdotnet;
|
||||
INSERT INTO articles (article_name) VALUES
|
||||
('test'),
|
||||
('another test'),
|
||||
('a third test');
|
||||
";
|
||||
}
|
||||
|
||||
create_db
|
||||
const_data
|
||||
Reference in New Issue
Block a user