From e8e3ecb60d96580a181cfcb0bd1fe790a1ac2c93 Mon Sep 17 00:00:00 2001 From: Andreas Date: Tue, 17 Sep 2019 14:45:22 +0200 Subject: [PATCH] database creation model file --- dev_mvc/model/actions/model_createdb.php | 180 +++++++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100644 dev_mvc/model/actions/model_createdb.php diff --git a/dev_mvc/model/actions/model_createdb.php b/dev_mvc/model/actions/model_createdb.php new file mode 100644 index 0000000..31922e8 --- /dev/null +++ b/dev_mvc/model/actions/model_createdb.php @@ -0,0 +1,180 @@ +query("SELECT COUNT(*) FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '$db'"); + //db exists + if($query->fetchColumn() != 1){ + echol('db doesnt exist'); + } + //db doesn't exist + else{ + echol('db already exists, skipping'); + } + //select db + $con->exec("USE $db"); + //test if table exists + + $table = 'users'; + $query = $con->query("SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '$table'"); + echol($query->fetchColumn()); + //table doesn't exist + if($query->fetchColumn() != 4){ + echol('table doesnt exist'); + $query = $con->query( + " CREATE TABLE `users` ( + `ID` int(11) NOT NULL AUTO_INCREMENT, + `username` varchar(256) NOT NULL, + `email` varchar(256) NOT NULL, + `password` varchar(256) NOT NULL, + `reg_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `login_date` datetime NOT NULL, + `reg_ip` varchar(256) NOT NULL, + `permissions` int(11) NOT NULL DEFAULT '-1', + `active` tinyint(1) DEFAULT '0', + PRIMARY KEY (`ID`) + ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1"); + echol("created table $table"); + } + //table exists + else{ + echol("table $table already exists, skipping"); + } + + $table = 'usersessions'; + $query = $con->query("SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '$table'"); + if($query->fetchColumn() != 4){ + echol('table doesnt exist'); + $query = $con->query( + " CREATE TABLE `usersessions` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `uid` int(11) NOT NULL, + `token` varchar(256) NOT NULL, + `expires` datetime NOT NULL, + PRIMARY KEY (`id`) + ) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=latin1"); + echol("created table $table"); + } + //table exists + else{ + echol("table $table already exists, skipping"); + } + + $table = 'email_activation_keys'; + $query = $con->query("SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '$table'"); + if($query->fetchColumn() != 4){ + echol('table doesnt exist'); + $query = $con->query( + " CREATE TABLE `email_activation_keys` ( + `id` int(16) NOT NULL AUTO_INCREMENT, + `users_id` int(16) NOT NULL, + `activationkey` varchar(256) NOT NULL, + PRIMARY KEY (`id`) + ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1"); + echol("created table $table"); + } + //table exists + else{ + echol("table $table already exists, skipping"); + } + + $table = 'board'; + $query = $con->query("SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '$table'"); + if($query->fetchColumn() != 4){ + echol('table doesnt exist'); + $query = $con->query( + " CREATE TABLE `board` ( + `ID` int(16) NOT NULL AUTO_INCREMENT, + `name` varchar(256) NOT NULL, + `description` text NOT NULL, + `permLevel` int(16) NOT NULL DEFAULT '0', + PRIMARY KEY (`ID`) + ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1"); + echol("created table $table"); + } + //table exists + else{ + echol("table $table already exists, skipping"); + } + + + $table = 'thread'; + $query = $con->query("SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '$table'"); + if($query->fetchColumn() != 4){ + echol('table doesnt exist'); + $query = $con->query( + " CREATE TABLE `thread` ( + `ID` int(16) NOT NULL AUTO_INCREMENT, + `users_ID` int(16) NOT NULL, + `board_ID` int(16) NOT NULL, + `title` varchar(256) NOT NULL, + `text` text NOT NULL, + `date_created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`ID`) + ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1"); + echol("created table $table"); + } + //table exists + else{ + echol("table $table already exists, skipping"); + } + + $table = 'reply'; + $query = $con->query("SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '$table'"); + if($query->fetchColumn() != 4){ + echol('table doesnt exist'); + $query = $con->query( + " CREATE TABLE `reply` ( + `ID` int(16) NOT NULL AUTO_INCREMENT, + `thread_ID` int(16) NOT NULL, + `users_ID` int(16) NOT NULL, + `content` text NOT NULL, + `date_created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`ID`) + ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1"); + echol("created table $table"); + } + //table exists + else{ + echol("table $table already exists, skipping"); + } + + + + } + catch(PDOException $e){ + die("pdo exception, cannot connect to sql:
$e"); + } +} + + + + + + + ?> \ No newline at end of file