-DROP TABLE IF EXISTS `certOwners`;
-CREATE TABLE `certOwners` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `modified` timestamp NULL DEFAULT NULL,
- `deleted` timestamp NULL DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
-
-DROP TABLE IF EXISTS `users`;
-CREATE TABLE `users` (
- `id` int(11) NOT NULL,
- `email` varchar(255) NOT NULL DEFAULT '',
- `password` varchar(255) NOT NULL DEFAULT '',
- `fname` varchar(255) NOT NULL DEFAULT '',
- `mname` varchar(255) NOT NULL DEFAULT '',
- `lname` varchar(255) NOT NULL DEFAULT '',
- `suffix` varchar(50) NOT NULL DEFAULT '',
- `dob` date NOT NULL DEFAULT '0000-00-00',
- `verified` int(1) NOT NULL DEFAULT '0',
- `ccid` int(3) NOT NULL DEFAULT '0',
- `regid` int(5) NOT NULL DEFAULT '0',
- `locid` int(7) NOT NULL DEFAULT '0',
- `listme` int(1) NOT NULL DEFAULT '0',
- `contactinfo` varchar(255) NOT NULL DEFAULT '',
- `language` varchar(5) NOT NULL DEFAULT '',
- PRIMARY KEY (`id`),
- KEY `ccid` (`ccid`),
- KEY `regid` (`regid`),
- KEY `locid` (`locid`),
- KEY `email` (`email`),
- KEY `stats_users_verified` (`verified`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-
-DROP TABLE IF EXISTS `organisations`;
-CREATE TABLE IF NOT EXISTS `organisations` (
- `id` int(11) NOT NULL,
- `name` varchar(100) NOT NULL,
- `state` varchar(2) NOT NULL,
- `province` varchar(100) NOT NULL,
- `city` varchar(100) NOT NULL,
- `contactEmail` varchar(100) NOT NULL,
- `creator` int(11) NOT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-DROP TABLE IF EXISTS `domains`;
-CREATE TABLE `domains` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `memid` int(11) NOT NULL,
- `domain` varchar(255) NOT NULL,
- `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `modified` datetime NULL DEFAULT NULL,
- `deleted` datetime NULL DEFAULT NULL,
- PRIMARY KEY (`id`),
- KEY `memid` (`memid`),
- KEY `domain` (`domain`),
- KEY `stats_domains_deleted` (`deleted`)
-) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
-
-DROP TABLE IF EXISTS `emails`;
-CREATE TABLE `emails` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `memid` int(11) NOT NULL DEFAULT '0',
- `email` varchar(255) NOT NULL DEFAULT '',
- `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `modified` datetime NULL DEFAULT NULL,
- `deleted` datetime NULL DEFAULT NULL,
- `hash` varchar(50) NOT NULL DEFAULT '',
- `attempts` int(1) NOT NULL DEFAULT '0',
- PRIMARY KEY (`id`),
- KEY `memid` (`memid`),
- KEY `stats_email_hash` (`hash`),
- KEY `stats_email_deleted` (`deleted`),
- KEY `email` (`email`)
-) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
-
-DROP TABLE IF EXISTS `emailPinglog`;
-CREATE TABLE `emailPinglog` (
- `when` datetime NOT NULL,
- `uid` int(11) NOT NULL,
- `email` varchar(255) NOT NULL,
- `type` enum('fast', 'active') NOT NULL,
- `status` enum('open', 'success', 'failed') NOT NULL,
- `result` varchar(255) NOT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-DROP TABLE IF EXISTS `pingconfig`;
-CREATE TABLE `pingconfig` (
- `id` int(13) NOT NULL AUTO_INCREMENT,
- `domainid` int(11) NOT NULL,
- `type` enum('email', 'ssl', 'http', 'dns') NOT NULL,
- `info` varchar(255) NOT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-
-DROP TABLE IF EXISTS `domainPinglog`;
-CREATE TABLE `domainPinglog` (
- `when` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `configId` int(13) NOT NULL,
- `state` enum('open', 'success', 'failed') NOT NULL,
- `challenge` varchar(16),
- `result` varchar(255)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-DROP TABLE IF EXISTS `baddomains`;
-CREATE TABLE `baddomains` (
- `domain` varchar(255) NOT NULL DEFAULT ''
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-
-DROP TABLE IF EXISTS `alerts`;
-CREATE TABLE `alerts` (
- `memid` int(11) NOT NULL DEFAULT '0',
- `general` tinyint(1) NOT NULL DEFAULT '0',
- `country` tinyint(1) NOT NULL DEFAULT '0',
- `regional` tinyint(1) NOT NULL DEFAULT '0',
- `radius` tinyint(1) NOT NULL DEFAULT '0',
- PRIMARY KEY (`memid`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-DROP TABLE IF EXISTS `user_agreements`;
-CREATE TABLE `user_agreements` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `memid` int(11) NOT NULL,
- `secmemid` int(11) DEFAULT NULL,
- `document` varchar(50) DEFAULT NULL,
- `date` datetime DEFAULT NULL,
- `active` int(1) NOT NULL,
- `method` varchar(100) NOT NULL,
- `comment` varchar(100) DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
-
-DROP TABLE IF EXISTS `certs`;
-CREATE TABLE `certs` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `memid` int(11) NOT NULL DEFAULT '0',
- `serial` varchar(50) NOT NULL DEFAULT '',
- `keytype` char(2) NOT NULL DEFAULT 'NS',
- `codesign` tinyint(1) NOT NULL DEFAULT '0',
- `md` enum('md5','sha1','sha256','sha512') NOT NULL DEFAULT 'sha512',
- `profile` int(3) NOT NULL,
- `caid` int(3) NULL DEFAULT NULL,
-
- `csr_name` varchar(255) NOT NULL DEFAULT '',
- `csr_type` enum('CSR', 'SPKAC') NOT NULL,
- `crt_name` varchar(255) NOT NULL DEFAULT '',
- `created` timestamp NULL DEFAULT NULL,
- `modified` datetime NULL DEFAULT NULL,
- `revoked` datetime NULL DEFAULT NULL,
- `expire` datetime NULL DEFAULT NULL,
- `renewed` tinyint(1) NOT NULL DEFAULT '0',
- `disablelogin` int(1) NOT NULL DEFAULT '0',
- `pkhash` char(40) DEFAULT NULL,
- `certhash` char(40) DEFAULT NULL,
- `description` varchar(100) NOT NULL DEFAULT '',
- PRIMARY KEY (`id`),
- KEY `emailcerts_pkhash` (`pkhash`),
- KEY `revoked` (`revoked`),
- KEY `created` (`created`),
- KEY `memid` (`memid`),
- KEY `serial` (`serial`),
- KEY `stats_emailcerts_expire` (`expire`),
- KEY `emailcrt` (`crt_name`)
-) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
-
-
-DROP TABLE IF EXISTS `certAvas`;
-CREATE TABLE `certAvas` (
- `certid` int(11) NOT NULL,
- `name` varchar(20) NOT NULL,
- `value` varchar(255) NOT NULL,
-
- PRIMARY KEY (`certid`, `name`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-DROP TABLE IF EXISTS `clientcerts`;
-CREATE TABLE `clientcerts` (
- `id` int(11) NOT NULL,
- `disablelogin` int(1) NOT NULL DEFAULT '0',
-
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-DROP TABLE IF EXISTS `profiles`;
-CREATE TABLE `profiles` (
- `id` int(3) NOT NULL AUTO_INCREMENT,
- `keyname` varchar(60) NOT NULL,
- `include` varchar(200) NOT NULL,
- `requires` varchar(200) NOT NULL,
- `name` varchar(100) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE (`keyname`)
-) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
-
-DROP TABLE IF EXISTS `subjectAlternativeNames`;
-CREATE TABLE `subjectAlternativeNames` (
- `certId` int(11) NOT NULL,
- `contents` varchar(50) NOT NULL,
- `type` enum('email','DNS') NOT NULL
-) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
-
-DROP TABLE IF EXISTS `cacerts`;
-CREATE TABLE `cacerts` (
- `id` int(3) NOT NULL AUTO_INCREMENT,
- `keyname` varchar(60) NOT NULL,
- `link` varchar(160) NOT NULL,
- `parentRoot` int(3) NOT NULL,
- `validFrom` datetime NULL DEFAULT NULL,
- `validTo` datetime NULL DEFAULT NULL,
- PRIMARY KEY (`id`),
- UNIQUE (`keyname`)
-) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
-
-
-DROP TABLE IF EXISTS `jobs`;
-CREATE TABLE `jobs` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `targetId` int(11) NOT NULL,
- `task` enum('sign','revoke') NOT NULL,
- `state` enum('open', 'done', 'error') NOT NULL DEFAULT 'open',
- `warning` int(2) NOT NULL DEFAULT '0',
- `executeFrom` DATE,
- `executeTo` VARCHAR(11),
- PRIMARY KEY (`id`),
- KEY `state` (`state`)
-) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
-
-
-DROP TABLE IF EXISTS `notary`;
-CREATE TABLE `notary` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `from` int(11) NOT NULL DEFAULT '0',
- `to` int(11) NOT NULL DEFAULT '0',
+DROP TABLE IF EXISTS "certOwners";
+CREATE TABLE "certOwners" (
+ "id" serial NOT NULL,
+ "created" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ "modified" timestamp NULL DEFAULT NULL,
+ "deleted" timestamp NULL DEFAULT NULL,
+ PRIMARY KEY ("id")
+);
+
+DROP TABLE IF EXISTS "users";
+CREATE TABLE "users" (
+ "id" int NOT NULL,
+ "email" varchar(255) NOT NULL DEFAULT '',
+ "password" varchar(255) NOT NULL DEFAULT '',
+ "fname" varchar(255) NOT NULL DEFAULT '',
+ "mname" varchar(255) NOT NULL DEFAULT '',
+ "lname" varchar(255) NOT NULL DEFAULT '',
+ "suffix" varchar(50) NOT NULL DEFAULT '',
+ "dob" date NOT NULL,
+ "verified" boolean NOT NULL DEFAULT 'false',
+ "ccid" int NOT NULL DEFAULT '0',
+ "regid" int NOT NULL DEFAULT '0',
+ "locid" int NOT NULL DEFAULT '0',
+ "listme" boolean NOT NULL DEFAULT 'false',
+ "contactinfo" varchar(255) NOT NULL DEFAULT '',
+ "language" varchar(5) NOT NULL DEFAULT '',
+ PRIMARY KEY ("id")
+);
+CREATE INDEX ON "users" ("ccid");
+CREATE INDEX ON "users" ("regid");
+CREATE INDEX ON "users" ("locid");
+CREATE INDEX ON "users" ("email");
+CREATE INDEX ON "users" ("verified");
+
+
+DROP TABLE IF EXISTS "organisations";
+CREATE TABLE IF NOT EXISTS "organisations" (
+ "id" int NOT NULL,
+ "name" varchar(100) NOT NULL,
+ "state" varchar(2) NOT NULL,
+ "province" varchar(100) NOT NULL,
+ "city" varchar(100) NOT NULL,
+ "contactEmail" varchar(100) NOT NULL,
+ "creator" int NOT NULL,
+ PRIMARY KEY ("id")
+);
+
+DROP TABLE IF EXISTS "domains";
+CREATE TABLE "domains" (
+ "id" serial NOT NULL,
+ "memid" int NOT NULL,
+ "domain" varchar(255) NOT NULL,
+ "created" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ "modified" timestamp NULL DEFAULT NULL,
+ "deleted" timestamp NULL DEFAULT NULL,
+ PRIMARY KEY ("id")
+);
+CREATE INDEX ON "domains" ("memid");
+CREATE INDEX ON "domains" ("domain");
+CREATE INDEX ON "domains" ("deleted");
+
+DROP TABLE IF EXISTS "emails";
+CREATE TABLE "emails" (
+ "id" serial NOT NULL,
+ "memid" int NOT NULL DEFAULT '0',
+ "email" varchar(255) NOT NULL DEFAULT '',
+ "created" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ "modified" timestamp NULL DEFAULT NULL,
+ "deleted" timestamp NULL DEFAULT NULL,
+ "hash" varchar(50) NOT NULL DEFAULT '',
+ "attempts" smallint NOT NULL DEFAULT '0',
+ PRIMARY KEY ("id")
+);
+CREATE INDEX ON "emails" ("memid");
+CREATE INDEX ON "emails" ("hash");
+CREATE INDEX ON "emails" ("deleted");
+CREATE INDEX ON "emails" ("email");
+
+DROP TABLE IF EXISTS "emailPinglog";
+DROP TABLE IF EXISTS "domainPinglog";
+
+DROP TYPE IF EXISTS "emailPingType";
+CREATE TYPE "emailPingType" AS ENUM ('fast', 'active');
+DROP TYPE IF EXISTS "pingState";
+CREATE TYPE "pingState" AS ENUM ('open', 'success', 'failed');
+
+CREATE TABLE "emailPinglog" (
+ "when" timestamp NOT NULL,
+ "uid" int NOT NULL,
+ "email" varchar(255) NOT NULL,
+ "type" "emailPingType" NOT NULL,
+ "status" "pingState" NOT NULL,
+ "result" varchar(255) NOT NULL
+);
+
+DROP TABLE IF EXISTS "pingconfig";
+
+DROP TYPE IF EXISTS "pingType";
+CREATE TYPE "pingType" AS ENUM ('email', 'ssl', 'http', 'dns');
+
+CREATE TABLE "pingconfig" (
+ "id" serial NOT NULL,
+ "domainid" int NOT NULL,
+ "type" "pingType" NOT NULL,
+ "info" varchar(255) NOT NULL,
+ "deleted" timestamp NULL DEFAULT NULL,
+ PRIMARY KEY ("id")
+);
+
+
+CREATE TABLE "domainPinglog" (
+ "when" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ "configId" int NOT NULL,
+ "state" "pingState" NOT NULL,
+ "challenge" varchar(16),
+ "result" varchar(255)
+);
+
+DROP TABLE IF EXISTS "baddomains";
+CREATE TABLE "baddomains" (
+ "domain" varchar(255) NOT NULL DEFAULT ''
+);
+
+
+DROP TABLE IF EXISTS "alerts";
+CREATE TABLE "alerts" (
+ "memid" int NOT NULL DEFAULT '0',
+ "general" boolean NOT NULL DEFAULT 'false',
+ "country" boolean NOT NULL DEFAULT 'false',
+ "regional" boolean NOT NULL DEFAULT 'false',
+ "radius" boolean NOT NULL DEFAULT 'false',
+ PRIMARY KEY ("memid")
+);
+
+DROP TABLE IF EXISTS "user_agreements";
+CREATE TABLE "user_agreements" (
+ "id" serial NOT NULL,
+ "memid" int NOT NULL,
+ "secmemid" int DEFAULT NULL,
+ "document" varchar(50) DEFAULT NULL,
+ "date" timestamp DEFAULT NULL,
+ "active" boolean NOT NULL,
+ "method" varchar(100) NOT NULL,
+ "comment" varchar(100) DEFAULT NULL,
+ PRIMARY KEY ("id")
+);
+
+DROP TABLE IF EXISTS "certs";
+
+DROP TYPE IF EXISTS "mdType";
+CREATE TYPE "mdType" AS ENUM('md5','sha1','sha256','sha512');
+
+DROP TYPE IF EXISTS "csrType";
+CREATE TYPE "csrType" AS ENUM ('CSR', 'SPKAC');
+
+CREATE TABLE "certs" (
+ "id" serial NOT NULL,
+ "memid" int NOT NULL DEFAULT '0',
+ "serial" varchar(50) NOT NULL DEFAULT '',
+ "keytype" char(2) NOT NULL DEFAULT 'NS',
+ "codesign" boolean NOT NULL DEFAULT 'false',
+ "md" "mdType" NOT NULL DEFAULT 'sha512',
+ "profile" int NOT NULL,
+ "caid" int NULL DEFAULT NULL,
+
+ "csr_name" varchar(255) NOT NULL DEFAULT '',
+ "csr_type" "csrType" NOT NULL,
+ "crt_name" varchar(255) NOT NULL DEFAULT '',
+ "created" timestamp NULL DEFAULT NULL,
+ "modified" timestamp NULL DEFAULT NULL,
+ "revoked" timestamp NULL DEFAULT NULL,
+ "expire" timestamp NULL DEFAULT NULL,
+ "renewed" boolean NOT NULL DEFAULT 'false',
+ "disablelogin" boolean NOT NULL DEFAULT 'false',
+ "pkhash" char(40) DEFAULT NULL,
+ "certhash" char(40) DEFAULT NULL,
+ "description" varchar(100) NOT NULL DEFAULT '',
+ PRIMARY KEY ("id")
+);
+CREATE INDEX ON "certs" ("pkhash");
+CREATE INDEX ON "certs" ("revoked");
+CREATE INDEX ON "certs" ("created");
+CREATE INDEX ON "certs" ("memid");
+CREATE INDEX ON "certs" ("serial");
+CREATE INDEX ON "certs" ("expire");
+CREATE INDEX ON "certs" ("crt_name");
+
+
+
+DROP TABLE IF EXISTS "certAvas";
+CREATE TABLE "certAvas" (
+ "certId" int NOT NULL,
+ "name" varchar(20) NOT NULL,
+ "value" varchar(255) NOT NULL,
+
+ PRIMARY KEY ("certId", "name")
+);
+
+DROP TABLE IF EXISTS "clientcerts";
+CREATE TABLE "clientcerts" (
+ "id" int NOT NULL,
+ "disablelogin" boolean NOT NULL DEFAULT 'false',
+
+ PRIMARY KEY ("id")
+);
+
+DROP TABLE IF EXISTS "profiles";
+CREATE TABLE "profiles" (
+ "id" serial NOT NULL,
+ "keyname" varchar(60) NOT NULL,
+ "include" varchar(200) NOT NULL,
+ "requires" varchar(200) NOT NULL,
+ "name" varchar(100) NOT NULL,
+ PRIMARY KEY ("id"),
+ UNIQUE ("keyname")
+);
+
+DROP TABLE IF EXISTS "subjectAlternativeNames";
+
+DROP TYPE IF EXISTS "SANType";
+CREATE TYPE "SANType" AS ENUM ('email', 'DNS');
+
+CREATE TABLE "subjectAlternativeNames" (
+ "certId" int NOT NULL,
+ "contents" varchar(50) NOT NULL,
+ "type" "SANType" NOT NULL
+);
+
+DROP TABLE IF EXISTS "cacerts";
+CREATE TABLE "cacerts" (
+ "id" serial NOT NULL,
+ "keyname" varchar(60) NOT NULL,
+ "link" varchar(160) NOT NULL,
+ "parentRoot" int NOT NULL,
+ "validFrom" timestamp NULL DEFAULT NULL,
+ "validTo" timestamp NULL DEFAULT NULL,
+ PRIMARY KEY ("id"),
+ UNIQUE ("keyname")
+);
+
+DROP TABLE IF EXISTS "jobs";
+
+DROP TYPE IF EXISTS "jobType";
+CREATE TYPE "jobType" AS ENUM ('sign', 'revoke');
+DROP TYPE IF EXISTS "jobState";
+CREATE TYPE "jobState" AS ENUM ('open', 'done', 'error');
+
+
+CREATE TABLE "jobs" (
+ "id" serial NOT NULL,
+ "targetId" int NOT NULL,
+ "task" "jobType" NOT NULL,
+ "state" "jobState" NOT NULL DEFAULT 'open',
+ "warning" smallint NOT NULL DEFAULT '0',
+ "executeFrom" DATE,
+ "executeTo" VARCHAR(11),
+ PRIMARY KEY ("id")
+);
+
+CREATE INDEX ON "jobs" ("state");
+
+DROP TABLE IF EXISTS "notary";
+
+DROP TYPE IF EXISTS "notaryType";
+CREATE TYPE "notaryType" AS enum('Face to Face Meeting', 'TOPUP', 'TTP-Assisted');
+
+CREATE TABLE "notary" (
+ "id" serial NOT NULL,
+ "from" int NOT NULL DEFAULT '0',
+ "to" int NOT NULL DEFAULT '0',