Add ActiveSync migrations.
authorJan Schneider <jan@horde.org>
Wed, 26 Jan 2011 20:10:13 +0000 (21:10 +0100)
committerJan Schneider <jan@horde.org>
Wed, 26 Jan 2011 20:10:13 +0000 (21:10 +0100)
framework/ActiveSync/migration/Horde/ActiveSync/1_horde_activesync_base_tables.php [new file with mode: 0644]
horde/scripts/sql/horde_activesync.mssql.sql [deleted file]
horde/scripts/sql/horde_activesync.mysql.sql [deleted file]
horde/scripts/sql/horde_activesync.oci8.sql [deleted file]
horde/scripts/sql/horde_activesync.pgsql.sql [deleted file]
horde/scripts/sql/horde_activesync.sql [deleted file]

diff --git a/framework/ActiveSync/migration/Horde/ActiveSync/1_horde_activesync_base_tables.php b/framework/ActiveSync/migration/Horde/ActiveSync/1_horde_activesync_base_tables.php
new file mode 100644 (file)
index 0000000..018deba
--- /dev/null
@@ -0,0 +1,63 @@
+<?php
+class HordeActiveSyncBaseTables extends Horde_Db_Migration_Base
+{
+    public function up()
+    {
+        if (!in_array('horde_activesync_state', $this->tables())) {
+            $t = $this->createTable('horde_activesync_state', array('primaryKey' => array('sync_key')));
+            $t->column('sync_time', 'integer');
+            $t->column('sync_key', 'string', array('limit' => 255, 'null' => false));
+            $t->column('sync_data', 'text');
+            $t->column('sync_devid', 'string', array('limit' => 255));
+            $t->column('sync_folderid', 'string', array('limit' => 255));
+            $t->column('sync_user', 'string', array('limit' => 255));
+            $t->end();
+
+            $this->addIndex('horde_activesync_state', array('sync_folderid'));
+            $this->addIndex('horde_activesync_state', array('sync_devid'));
+        }
+        if (!in_array('horde_activesync_map', $this->tables())) {
+            $t = $this->createTable('horde_activesync_map', array('primaryKey' => false));
+            $t->column('message_uid', 'string', array('limit' => 255, 'null' => false));
+            $t->column('sync_modtime', 'integer');
+            $t->column('sync_key', 'string', array('limit' => 255, 'null' => false));
+            $t->column('sync_devid', 'string', array('limit' => 255, 'null' => false));
+            $t->column('sync_folderid', 'string', array('limit' => 255, 'null' => false));
+            $t->column('sync_user', 'string', array('limit' => 255));
+            $t->end();
+
+            $this->addIndex('horde_activesync_map', array('sync_devid'));
+            $this->addIndex('horde_activesync_map', array('message_uid'));
+            $this->addIndex('horde_activesync_map', array('sync_user'));
+        }
+        if (!in_array('horde_activesync_device', $this->tables())) {
+            $t = $this->createTable('horde_activesync_device', array('primaryKey' => array('device_id')));
+            $t->column('device_id', 'string', array('limit' => 255, 'null' => false));
+            $t->column('device_type', 'string', array('limit' => 255, 'null' => false));
+            $t->column('device_agent', 'string', array('limit' => 255, 'null' => false));
+            $t->column('device_supported', 'text');
+            $t->column('device_policykey', 'bigint', array('default' => 0));
+            $t->column('device_rwstatus', 'integer');
+            $t->end();
+        }
+        if (!in_array('horde_activesync_device_users', $this->tables())) {
+            $t = $this->createTable('horde_activesync_device_users', array('primaryKey' => false));
+            $t->column('device_id', 'string', array('limit' => 255, 'null' => false));
+            $t->column('device_user', 'string', array('limit' => 255, 'null' => false));
+            $t->column('device_ping', 'text');
+            $t->column('device_folders', 'text');
+            $t->end();
+
+            $this->addIndex('horde_activesync_device_users', array('device_user'));
+            $this->addIndex('horde_activesync_device_users', array('device_id'));
+        }
+    }
+
+    public function down()
+    {
+        $this->dropTable('horde_activesync_device_users');
+        $this->dropTable('horde_activesync_device');
+        $this->dropTable('horde_activesync_map');
+        $this->dropTable('horde_activesync_state');
+    }
+}
diff --git a/horde/scripts/sql/horde_activesync.mssql.sql b/horde/scripts/sql/horde_activesync.mssql.sql
deleted file mode 100644 (file)
index 9dce215..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-CREATE TABLE horde_activesync_state (
-    sync_time          INT,
-    sync_key           VARCHAR(255) NOT NULL,
-    sync_data          TEXT,
-    sync_devid         VARCHAR(255),
-    sync_folderid      VARCHAR(255),
-    sync_user          VARCHAR(255) NOT NULL,
---
-    PRIMARY KEY (sync_key)
-);
-GO
-
-CREATE INDEX activesync_state_folder_idx ON horde_activesync_state (sync_folderid);
-CREATE INDEX activesync_state_devid_idx ON horde_activesync_state (sync_devid);
-GO
-
-CREATE TABLE horde_activesync_map (
-    message_uid        VARCHAR(255) NOT NULL,
-    sync_modtime       INT,
-    sync_key           VARCHAR(255) NOT NULL,
-    sync_devid         VARCHAR(255) NOT NULL,
-    sync_folderid      VARCHAR(255) NOT NULL,
-    sync_user          VARCHAR(255) NOT NULL
-);
-GO
-
-CREATE INDEX activesync_map_user_idx ON horde_activesync_map (sync_user);
-CREATE INDEX activesync_map_devid_idx ON horde_activesync_map (sync_devid);
-CREATE INDEX activesync_map_message_idx ON horde_activesync_map (message_uid);
-GO
-
-CREATE TABLE horde_activesync_device (
-    device_id         VARCHAR(255) NOT NULL,
-    device_type       VARCHAR(255) NOT NULL,
-    device_agent      VARCHAR(255) NOT NULL,
-    device_supported  TEXT,
-    device_policykey  BIGINT DEFAULT 0,
-    device_rwstatus   INT,
---
-    PRIMARY KEY (device_id)
-);
-GO
-
-CREATE TABLE horde_activesync_device_users (
-    device_id         VARCHAR(255) NOT NULL,
-    device_user       VARCHAR(255) NOT NULL,
-    device_ping       TEXT,
-    device_folders    TEXT
-);
-GO
-
-CREATE INDEX activesync_device_users_idx ON horde_activesync_device_users (device_user);
-CREATE INDEX activesync_device_users_id_idx on horde_activesync_device_users (device_id);
-GO
diff --git a/horde/scripts/sql/horde_activesync.mysql.sql b/horde/scripts/sql/horde_activesync.mysql.sql
deleted file mode 100644 (file)
index 11539b7..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-CREATE TABLE horde_activesync_state (
-    sync_time          INTEGER,
-    sync_key           VARCHAR(255) NOT NULL,
-    sync_data          LONGTEXT,
-    sync_devid         VARCHAR(255),
-    sync_folderid      VARCHAR(255),
-    sync_user          VARCHAR(255) NOT NULL,
---
-    PRIMARY KEY (sync_key)
-);
-
-CREATE INDEX activesync_state_folder_idx ON horde_activesync_state (sync_folderid);
-CREATE INDEX activesync_state_devid_idx ON horde_activesync_state (sync_devid);
-
-CREATE TABLE horde_activesync_map (
-    message_uid        VARCHAR(255) NOT NULL,
-    sync_modtime       INTEGER,
-    sync_key           VARCHAR(255) NOT NULL,
-    sync_devid         VARCHAR(255) NOT NULL,
-    sync_folderid      VARCHAR(255) NOT NULL,
-    sync_user          VARCHAR(255) NOT NULL
-);
-
-CREATE INDEX activesync_map_devid_idx ON horde_activesync_map (sync_devid);
-CREATE INDEX activesync_map_message_idx ON horde_activesync_map (message_uid);
-CREATE INDEX activesync_map_user_idx ON horde_activesync_map (sync_user);
-
-
-CREATE TABLE horde_activesync_device (
-    device_id         VARCHAR(255) NOT NULL,
-    device_type       VARCHAR(255) NOT NULL,
-    device_agent      VARCHAR(255) NOT NULL,
-    device_supported  TEXT,
-    device_policykey  BIGINT DEFAULT 0,
-    device_rwstatus   INTEGER,
---
-    PRIMARY KEY (device_id)
-);
-
-CREATE TABLE horde_activesync_device_users (
-    device_id         VARCHAR(255) NOT NULL,
-    device_user       VARCHAR(255) NOT NULL,
-    device_ping       TEXT,
-    device_folders    TEXT
-);
-
-CREATE INDEX activesync_device_users_idx ON horde_activesync_device_users (device_user);
-CREATE INDEX activesync_device_users_id_idx on horde_activesync_device_users (device_id);
\ No newline at end of file
diff --git a/horde/scripts/sql/horde_activesync.oci8.sql b/horde/scripts/sql/horde_activesync.oci8.sql
deleted file mode 100644 (file)
index 82f9abc..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-CREATE TABLE horde_activesync_state (
-    sync_time          NUMBER(16),
-    sync_key           VARCHAR2(255) NOT NULL,
-    sync_data          CLOB,
-    sync_devid         VARCHAR2(255),
-    sync_folderid      VARCHAR2(255),
-    sync_user          VARCHAR2(255) NOT NULL,
---
-    PRIMARY KEY (sync_key)
-);
-
-CREATE INDEX activesync_state_folder_idx ON horde_activesync_state (sync_folderid);
-CREATE INDEX activesync_state_devid_idx ON horde_activesync_state (sync_devid);
-
-CREATE TABLE horde_activesync_map (
-    message_uid        VARCHAR2(255) NOT NULL,
-    sync_modtime       NUMBER(16),
-    sync_key           VARCHAR2(255) NOT NULL,
-    sync_devid         VARCHAR2(255) NOT NULL,
-    sync_folderid      VARCHAR2(255) NOT NULL,
-    sync_user          VARCHAR2(255) NOT NULL
-);
-
-CREATE INDEX activesync_map_devid_idx ON horde_activesync_map (sync_devid);
-CREATE INDEX activesync_map_message_idx ON horde_activesync_map (message_uid);
-CREATE INDEX activesync_map_user_idx ON horde_activesync_map (sync_user);
-
-
-CREATE TABLE horde_activesync_device (
-    device_id         VARCHAR2(255) NOT NULL,
-    device_type       VARCHAR2(255) NOT NULL,
-    device_agent      VARCHAR2(255) NOT NULL,
-    device_supported  CLOB,
-    device_policykey  NUMBER(16) DEFAULT 0,
-    device_rwstatus   NUMBER(8),
---
-    PRIMARY KEY (device_id)
-);
-
-CREATE TABLE horde_activesync_device_users (
-    device_id         VARCHAR2(255) NOT NULL,
-    device_user       VARCHAR2(255) NOT NULL,
-    device_ping       CLOB,
-    device_folders    CLOB
-);
-CREATE INDEX activesync_device_users_idx ON horde_activesync_device_users (device_user);
-CREATE INDEX activesync_device_users_id_idx on horde_activesync_device_users (device_id);
-
-exit
diff --git a/horde/scripts/sql/horde_activesync.pgsql.sql b/horde/scripts/sql/horde_activesync.pgsql.sql
deleted file mode 100644 (file)
index 8fe535f..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-BEGIN;
-
-CREATE TABLE horde_activesync_state (
-    sync_time          INT,
-    sync_key           VARCHAR(255) NOT NULL,
-    sync_data          TEXT,
-    sync_devid         VARCHAR(255),
-    sync_folderid      VARCHAR(255),
-    sync_user          VARCHAR(255) NOT NULL,
---
-    PRIMARY KEY (sync_key)
-);
-
-CREATE INDEX activesync_state_folder_idx ON horde_activesync_state (sync_folderid);
-CREATE INDEX activesync_state_devid_idx ON horde_activesync_state (sync_devid);
-
-CREATE TABLE horde_activesync_map (
-    message_uid        VARCHAR(255) NOT NULL,
-    sync_modtime       INT,
-    sync_key           VARCHAR(255) NOT NULL,
-    sync_devid         VARCHAR(255) NOT NULL,
-    sync_folderid      VARCHAR(255) NOT NULL,
-    sync_user          VARCHAR(255) NOT NULL
-);
-
-CREATE INDEX activesync_map_devid_idx ON horde_activesync_map (sync_devid);
-CREATE INDEX activesync_map_message_idx ON horde_activesync_map (message_uid);
-CREATE INDEX activesync_map_user_idx ON horde_activesync_map (sync_user);
-
-CREATE TABLE horde_activesync_device (
-    device_id         VARCHAR(255) NOT NULL,
-    device_type       VARCHAR(255) NOT NULL,
-    device_agent      VARCHAR(255) NOT NULL,
-    device_supported  TEXT,
-    device_policykey  BIGINT DEFAULT 0,
-    device_rwstatus   INT,
---
-    PRIMARY KEY (device_id)
-);
-
-CREATE TABLE horde_activesync_device_users (
-    device_id         VARCHAR(255) NOT NULL,
-    device_user       VARCHAR(255) NOT NULL,
-    device_ping       TEXT,
-    device_folders    TEXT);
-
-CREATE INDEX activesync_device_users_idx ON horde_activesync_device_users (device_user);
-CREATE INDEX activesync_device_users_id_idx on horde_activesync_device_users (device_id);
-
-COMMIT;
\ No newline at end of file
diff --git a/horde/scripts/sql/horde_activesync.sql b/horde/scripts/sql/horde_activesync.sql
deleted file mode 100644 (file)
index 19e8e79..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-CREATE TABLE horde_activesync_state (
-    sync_time          INTEGER,
-    sync_key           VARCHAR(255) NOT NULL,
-    sync_data          TEXT,
-    sync_devid         VARCHAR(255),
-    sync_folderid      VARCHAR(255),
-    sync_user          VARCHAR(255) NOT NULL,
---
-    PRIMARY KEY (sync_key)
-);
-
-CREATE INDEX activesync_state_folder_idx ON horde_activesync_state (sync_folderid);
-CREATE INDEX activesync_state_devid_idx ON horde_activesync_state (sync_devid);
-
-CREATE TABLE horde_activesync_map (
-    message_uid        VARCHAR(255) NOT NULL,
-    sync_modtime       INTEGER,
-    sync_key           VARCHAR(255) NOT NULL,
-    sync_devid         VARCHAR(255) NOT NULL,
-    sync_folderid      VARCHAR(255) NOT NULL,
-    sync_user          VARCHAR(255) NOT NULL
-);
-
-CREATE INDEX activesync_map_devid_idx ON horde_activesync_map (sync_devid);
-CREATE INDEX activesync_map_message_idx ON horde_activesync_map (message_uid);
-CREATE INDEX activesync_map_user_idx ON horde_activesync_map (sync_user);
-
-
-CREATE TABLE horde_activesync_device (
-    device_id         VARCHAR(255) NOT NULL,
-    device_type       VARCHAR(255) NOT NULL,
-    device_agent      VARCHAR(255) NOT NULL,
-    device_supported  TEXT,
-    device_policykey  BIGINT DEFAULT 0,
-    device_rwstatus   INTEGER,
---
-    PRIMARY KEY (device_id)
-);
-
-CREATE TABLE horde_activesync_device_users (
-    device_id         VARCHAR(255) NOT NULL,
-    device_user       VARCHAR(255) NOT NULL,
-    device_ping       TEXT,
-    device_folders    TEXT
-);
-
-CREATE INDEX activesync_device_user_idx ON horde_activesync_users (device_user);
-CREATE INDEX activesync_device_users_id_idx on horde_activesync_device_users (device_id);
-