瀏覽代碼

Hook database managment

isundil 10 年之前
父節點
當前提交
895b515cb6
共有 2 個文件被更改,包括 24 次插入1 次删除
  1. 1 1
      core/models/ModelBase.php
  2. 23 0
      core/models/ModuleHook.php

+ 1 - 1
core/models/ModelBase.php

@@ -44,7 +44,7 @@ abstract class ModelBase
 
     public static function setup()
     {
-        $tables = array("Admin", "User", "Address", "Cart", "Category", "Product", "CartProduct", "Meta", "Cms", "Config", "Module");
+        $tables = array("Admin", "User", "Address", "Cart", "Category", "Product", "CartProduct", "Meta", "Cms", "Config", "Module", "ModuleHook");
 
         self::init();
         self::$dbo->beginTransaction();

+ 23 - 0
core/models/ModuleHook.php

@@ -0,0 +1,23 @@
+<?php
+
+namespace Entity;
+
+class ModuleHook extends ModelBase
+{
+    protected function install()
+    {
+        $dbPrefix = $this->getDbPrefix();
+        $result = self::$dbo->exec("CREATE TABLE IF NOT EXISTS `{$dbPrefix}module_hook` (
+            `id` INTEGER(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
+            `module_id` INTEGER(11) UNSIGNED NOT NULL,
+            `hookName` VARCHAR(32) NOT NULL,
+            `hookPosition` INTEGER(11) NOT NULL,
+            FOREIGN KEY (`module_id`) REFERENCES `{$dbPrefix}module`(id),
+            UNIQUE(`module_id`, `hookName`)
+        )");
+        if ($result === false)
+            throw new \Exception(get_class().": ".self::$dbo->errorInfo()[2]);
+        return true;
+    }
+}
+