Skip to content
Snippets Groups Projects
Commit 65618b2b authored by Maximilian Giller's avatar Maximilian Giller :squid:
Browse files

First database setup

parent 70913b73
No related branches found
No related tags found
No related merge requests found
Pipeline #53539 passed
<?php
$SPACES_TABLE = get_table_name("spaces");
$NODES_TABLE = get_table_name("nodes");
$NODETYPES_TABLE = get_table_name("nodetypes");
$LINKS_TABLE = get_table_name("links");
$REFERENCES_TABLE = get_table_name("references");
global $ks_db_version;
$ks_db_version = '1.0';
function get_table_name($table)
{
global $wpdb;
return $wpdb->prefix . "ks_" . $table;
}
register_activation_hook(__FILE__, 'ks_install');
function ks_install()
{
global $wpdb;
global $ks_db_version;
$installed_ver = get_option("ks_db_version");
if ($installed_ver == $ks_db_version) {
return;
}
$charset_collate = $wpdb->get_charset_collate();
require_once(__DIR__ . '/../../../wp-admin/includes/upgrade.php');
global $SPACES_TABLE;
$sql = "CREATE TABLE $SPACES_TABLE (
space_id int(11) NOT NULL AUTO_INCREMENT,
name text NOT NULL,
description text NOT NULL,
PRIMARY KEY (space_id)
) $charset_collate;";
dbDelta($sql); //! Has some weird restrictions for the SQL Query: https://codex.wordpress.org/Creating_Tables_with_Plugins
global $NODETYPES_TABLE;
$sql = "CREATE TABLE $NODETYPES_TABLE (
nodetype_id int(11) NOT NULL AUTO_INCREMENT,
name text NOT NULL,
color bit(24) NOT NULL,
PRIMARY KEY (nodetype_id)
) $charset_collate;";
dbDelta($sql); //! Has some weird restrictions for the SQL Query: https://codex.wordpress.org/Creating_Tables_with_Plugins
global $NODES_TABLE;
$sql = "CREATE TABLE $NODES_TABLE (
node_id int(11) NOT NULL AUTO_INCREMENT,
title text NOT NULL,
description text NOT NULL,
icon_url text,
header_url text,
video_url text,
nodetype_id int(11) NOT NULL,
space_id int(11) NOT NULL,
PRIMARY KEY (node_id)
) $charset_collate;";
dbDelta($sql); //! Has some weird restrictions for the SQL Query: https://codex.wordpress.org/Creating_Tables_with_Plugins
global $LINKS_TABLE;
$sql = "CREATE TABLE $LINKS_TABLE (
link_id int(11) NOT NULL AUTO_INCREMENT,
source_node_id int(11) NOT NULL,
target_node_id int(11) NOT NULL,
PRIMARY KEY (link_id)
) $charset_collate;";
dbDelta($sql); //! Has some weird restrictions for the SQL Query: https://codex.wordpress.org/Creating_Tables_with_Plugins
global $REFERENCES_TABLE;
$sql = "CREATE TABLE $REFERENCES_TABLE (
reference_id int(11) NOT NULL AUTO_INCREMENT,
url text NOT NULL,
node_id int(11) NOT NULL,
PRIMARY KEY (reference_id)
) $charset_collate;";
dbDelta($sql); //! Has some weird restrictions for the SQL Query: https://codex.wordpress.org/Creating_Tables_with_Plugins
add_option('ks_db_version', $ks_db_version);
}
// Handling upgrade
function ks_update_db_check()
{
global $ks_db_version;
if (get_site_option('ks_db_version') != $ks_db_version) {
ks_install();
}
}
add_action('plugins_loaded', 'ks_update_db_check');
...@@ -123,6 +123,7 @@ function kg_editor_admin_add_page() ...@@ -123,6 +123,7 @@ function kg_editor_admin_add_page()
} }
require_once(__DIR__ . "/knowledge-space-database.php");
require_once(__DIR__ . '/datasets/datasets.php'); require_once(__DIR__ . '/datasets/datasets.php');
//add_action('wp_enqueue_scripts', 'kg_load_css'); //add_action('wp_enqueue_scripts', 'kg_load_css');
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment