From 4a8ada694fe8cab6380df9fd84a68d7dbe56f5b3 Mon Sep 17 00:00:00 2001
From: Egil Moeller <egil.moller@freecode.no>
Date: Tue, 30 Mar 2010 19:55:51 +0200
Subject: Added a DB migration to set up plugin DB tables

---
 .../db_migrations/m0040_create_plugin_tables.js    | 40 ++++++++++++++++++++++
 .../src/etherpad/db_migrations/migration_runner.js |  3 +-
 2 files changed, 42 insertions(+), 1 deletion(-)
 create mode 100644 etherpad/src/etherpad/db_migrations/m0040_create_plugin_tables.js

diff --git a/etherpad/src/etherpad/db_migrations/m0040_create_plugin_tables.js b/etherpad/src/etherpad/db_migrations/m0040_create_plugin_tables.js
new file mode 100644
index 0000000..62e8ff7
--- /dev/null
+++ b/etherpad/src/etherpad/db_migrations/m0040_create_plugin_tables.js
@@ -0,0 +1,40 @@
+/**
+ * Copyright 2009 Google Inc.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS-IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import("etherpad.utils.isPrivateNetworkEdition");
+import("sqlbase.sqlobj");
+import("sqlbase.sqlcommon");
+
+function run() {
+  sqlobj.createTable('plugin', {
+    id: 'INT NOT NULL '+sqlcommon.autoIncrementClause()+' PRIMARY KEY',
+    name: 'VARCHAR(128) character set utf8 collate utf8_bin UNIQUE NOT NULL'
+  });
+  sqlobj.createTable('hook_type', {
+    id: 'INT NOT NULL '+sqlcommon.autoIncrementClause()+' PRIMARY KEY',
+    name: 'VARCHAR(128) character set utf8 collate utf8_bin UNIQUE NOT NULL'
+  });
+  sqlobj.createTable('hook', {
+    id: 'INT NOT NULL '+sqlcommon.autoIncrementClause()+' PRIMARY KEY',
+    type_id: 'INT NOT NULL REFERENCES hook_type(id)',
+    name: 'VARCHAR(128) character set utf8 collate utf8_bin NOT NULL'
+  });
+  sqlobj.createTable('plugin_hook', {
+    plugin_id: 'INT NOT NULL REFERENCES plugin(id)',
+    hook_id: 'INT NOT NULL REFERENCES hook(id)',
+    original_name: 'VARCHAR(128) character set utf8 collate utf8_bin'
+  });
+}
diff --git a/etherpad/src/etherpad/db_migrations/migration_runner.js b/etherpad/src/etherpad/db_migrations/migration_runner.js
index ddf201d..f4fa861 100644
--- a/etherpad/src/etherpad/db_migrations/migration_runner.js
+++ b/etherpad/src/etherpad/db_migrations/migration_runner.js
@@ -69,7 +69,8 @@ var migrations = [
   "m0035_add_email_to_paymentinfo",
   "m0036_create_missing_subscription_records",
   "m0037_create_pro_referral_table",
-  "m0038_pad_coarse_revs"
+  "m0038_pad_coarse_revs",
+  "m0040_create_plugin_tables"
 ];
 
 var mscope = this;
-- 
cgit v1.2.3