diff --git a/src/main/scala/de/tobias/playpad/server/server/SqlHelper.scala b/src/main/scala/de/tobias/playpad/server/server/SqlHelper.scala
index 1825d0a9b76fcf22e834c01ad2ee08d248d5c59b..0078188ca036863f85b21c18746f533b2552a3c3 100644
--- a/src/main/scala/de/tobias/playpad/server/server/SqlHelper.scala
+++ b/src/main/scala/de/tobias/playpad/server/server/SqlHelper.scala
@@ -44,4 +44,43 @@ object SqlHelper {
 
 		preparedStatement
 	}
+
+	def createTables(connection: Connection): Unit = {
+		def createTable(sql: String) = {
+			val preparedStatement = connection.prepareStatement(sql)
+			preparedStatement.execute()
+			preparedStatement.close()
+		}
+
+		createTable(
+			"""CREATE TABLE `Project` (
+			  |  `id` varchar(48) NOT NULL DEFAULT '',
+			  |  `name` varchar(255) DEFAULT NULL,
+			  |  `account_id` int(11) DEFAULT NULL,
+			  |  PRIMARY KEY (`id`),
+			  |  UNIQUE KEY `id` (`id`)
+			  |) ENGINE=InnoDB DEFAULT CHARSET=latin1;""".stripMargin)
+		createTable(
+			"""CREATE TABLE `Page` (
+			  |  `id` varchar(48) NOT NULL DEFAULT '',
+			  |  `name` varchar(255) DEFAULT NULL,
+			  |  `position` int(11) DEFAULT NULL,
+			  |  `project_id` varchar(48) DEFAULT NULL,
+			  |  PRIMARY KEY (`id`),
+			  |  UNIQUE KEY `id` (`id`)
+			  |  CONSTRAINT `Page_ibfk_1` FOREIGN KEY (`project_id`) REFERENCES `Project` (`id`) ON DELETE CASCADE
+			  |) ENGINE=InnoDB DEFAULT CHARSET=latin1;""".stripMargin)
+		createTable(
+			"""CREATE TABLE `Pad` (
+			  |  `id` varchar(48) NOT NULL DEFAULT '',
+			  |  `name` varchar(255) DEFAULT NULL,
+			  |  `position` int(11) DEFAULT NULL,
+			  |  `page` int(11) DEFAULT NULL,
+			  |  `design_id` varchar(48) DEFAULT NULL,
+			  |  `page_id` varchar(48) DEFAULT NULL,
+			  |  PRIMARY KEY (`id`),
+			  |  UNIQUE KEY `id` (`id`)
+			  |  CONSTRAINT `Pad_ibfk_1` FOREIGN KEY (`page_id`) REFERENCES `Page` (`id`) ON DELETE CASCADE
+			  |) ENGINE=InnoDB DEFAULT CHARSET=latin1;""".stripMargin)
+	}
 }