]> WPIA git - gigi.git/blob - src/club/wpia/gigi/database/tableStructure.sql
add: handling of RA Agent Contract
[gigi.git] / src / club / wpia / gigi / database / tableStructure.sql
1 DROP TABLE IF EXISTS "certOwners";
2 CREATE TABLE "certOwners" (
3   "id" serial NOT NULL,
4   "created" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
5   "modified" timestamp NULL DEFAULT NULL,
6   "deleted" timestamp NULL DEFAULT NULL,
7   PRIMARY KEY ("id")
8 );
9
10 DROP TABLE IF EXISTS "users";
11 CREATE TABLE "users" (
12   "id" int NOT NULL,
13   "email" varchar(255) NOT NULL DEFAULT '',
14   "password" varchar(255) NOT NULL DEFAULT '',
15   "preferredName" int NULL,
16   "dob" date NOT NULL,
17   "verified" boolean NOT NULL DEFAULT 'false',
18   "language" varchar(5) NOT NULL DEFAULT '',
19   "country" varchar(2) NULL,
20   PRIMARY KEY ("id")
21 );
22 CREATE INDEX ON "users" ("email");
23 CREATE INDEX ON "users" ("verified");
24
25
26 DROP TABLE IF EXISTS "organisations";
27 CREATE TABLE IF NOT EXISTS "organisations" (
28   "id" int NOT NULL,
29   "name" varchar(64) NOT NULL,
30   "country" varchar(2) NOT NULL,
31   "province" varchar(128) NOT NULL,
32   "city" varchar(128) NOT NULL,
33   "contactEmail" varchar(100) NOT NULL,
34   "creator" int NOT NULL,
35   "optional_name" text,
36   "postal_address" text,
37   PRIMARY KEY ("id")
38 );
39
40 DROP TABLE IF EXISTS "domains";
41 CREATE TABLE "domains" (
42   "id" serial NOT NULL,
43   "memid" int NOT NULL,
44   "domain" varchar(255) NOT NULL,
45   "created" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
46   "modified" timestamp NULL DEFAULT NULL,
47   "deleted" timestamp NULL DEFAULT NULL,
48   PRIMARY KEY ("id")
49 );
50 CREATE INDEX ON "domains" ("memid");
51 CREATE INDEX ON "domains" ("domain");
52 CREATE INDEX ON "domains" ("deleted");
53
54 DROP TABLE IF EXISTS "emails";
55 CREATE TABLE "emails" (
56   "id" serial NOT NULL,
57   "memid" int NOT NULL DEFAULT '0',
58   "email" varchar(255) NOT NULL DEFAULT '',
59   "created" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
60   "modified" timestamp NULL DEFAULT NULL,
61   "deleted" timestamp NULL DEFAULT NULL,
62   PRIMARY KEY ("id")
63 );
64 CREATE INDEX ON "emails" ("memid");
65 CREATE INDEX ON "emails" ("deleted");
66 CREATE INDEX ON "emails" ("email");
67
68 DROP TABLE IF EXISTS "emailPinglog";
69 DROP TABLE IF EXISTS "domainPinglog";
70
71 DROP TYPE IF EXISTS "emailPingType";
72 CREATE TYPE "emailPingType" AS ENUM ('fast', 'active');
73 DROP TYPE IF EXISTS "pingState";
74 CREATE TYPE "pingState" AS ENUM ('open', 'success', 'failed');
75
76 CREATE TABLE "emailPinglog" (
77   "when" timestamp NOT NULL,
78   "uid" int NOT NULL,
79   "email" varchar(255) NOT NULL,
80   "type" "emailPingType" NOT NULL,
81   "status" "pingState" NOT NULL,
82   "result" varchar(255) NOT NULL,
83   "challenge" varchar(255) NULL DEFAULT NULL
84 );
85
86 DROP TABLE IF EXISTS "pingconfig";
87
88 DROP TYPE IF EXISTS "pingType";
89 CREATE TYPE "pingType" AS ENUM ('email', 'ssl', 'http', 'dns');
90
91 CREATE TABLE "pingconfig" (
92   "id" serial NOT NULL,
93   "domainid" int NOT NULL,
94   "type" "pingType" NOT NULL,
95   "info" varchar(255) NOT NULL,
96   "deleted" timestamp NULL DEFAULT NULL,
97   PRIMARY KEY ("id")
98 );
99
100
101 CREATE TABLE "domainPinglog" (
102   "when" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
103   "configId" int NOT NULL,
104   "state" "pingState" NOT NULL,
105   "challenge" varchar(16),
106   "result" varchar(255),
107   "needsAction" boolean DEFAULT false
108 );
109 CREATE INDEX ON "domainPinglog" ("configId","when");
110 CREATE INDEX ON "domainPinglog" ("when", "needsAction");
111
112 DROP TABLE IF EXISTS "baddomains";
113 CREATE TABLE "baddomains" (
114   "domain" varchar(255) NOT NULL DEFAULT ''
115 );
116
117
118 DROP TABLE IF EXISTS "user_agreements";
119 CREATE TABLE "user_agreements" (
120   "id" serial NOT NULL,
121   "memid" int NOT NULL,
122   "secmemid" int DEFAULT NULL,
123   "document" varchar(50) DEFAULT NULL,
124   "date" timestamp DEFAULT NULL,
125   "active" boolean NOT NULL,
126   "method" varchar(100) NOT NULL,
127   "comment" varchar(100) DEFAULT NULL,
128   PRIMARY KEY ("id")
129 );
130
131 DROP TABLE IF EXISTS "certs";
132 DROP TYPE IF EXISTS "revocationType";
133 CREATE TYPE "revocationType" AS ENUM('user', 'support', 'ping_timeout', 'key_compromise');
134
135 DROP TYPE IF EXISTS "mdType";
136 CREATE TYPE "mdType" AS ENUM('md5','sha1','sha256','sha384','sha512');
137
138 DROP TYPE IF EXISTS "csrType";
139 CREATE TYPE "csrType" AS ENUM ('CSR', 'SPKAC');
140
141 CREATE TABLE "certs" (
142   "id" serial NOT NULL,
143   "memid" int NOT NULL DEFAULT '0',
144   "serial" varchar(50) NOT NULL DEFAULT '',
145   "keytype" char(2) NOT NULL DEFAULT 'NS',
146   "codesign" boolean NOT NULL DEFAULT 'false',
147   "md" "mdType" NOT NULL DEFAULT 'sha512',
148   "profile" int NOT NULL,
149   "caid" int NULL DEFAULT NULL,
150
151   "csr_type" "csrType" NOT NULL,
152   "created" timestamp NULL DEFAULT NULL,
153   "modified" timestamp NULL DEFAULT NULL,
154
155   "revoked" timestamp NULL,
156   "revocationType" "revocationType" NULL,
157   "revocationChallenge" varchar(32) NULL DEFAULT NULL,
158   "revocationSignature" text NULL DEFAULT NULL,
159   "revocationMessage" text NULL DEFAULT NULL,
160
161   "expire" timestamp NULL DEFAULT NULL,
162   "renewed" boolean NOT NULL DEFAULT 'false',
163   "pkhash" char(40) DEFAULT NULL,
164   "certhash" char(40) DEFAULT NULL,
165   "description" varchar(100) NOT NULL DEFAULT '',
166   "actorid" int NOT NULL,
167   PRIMARY KEY ("id")
168 );
169 CREATE INDEX ON "certs" ("pkhash");
170 CREATE INDEX ON "certs" ("revoked");
171 CREATE INDEX ON "certs" ("created");
172 CREATE INDEX ON "certs" ("memid");
173 CREATE INDEX ON "certs" ("serial");
174 CREATE INDEX ON "certs" ("expire");
175 CREATE INDEX ON "certs" ("actorid");
176
177 DROP TABLE IF EXISTS "certAvas";
178 CREATE TABLE "certAvas" (
179   "certId" int NOT NULL,
180   "name" varchar(20) NOT NULL,
181   "value" varchar(255) NOT NULL,
182
183   PRIMARY KEY ("certId", "name")
184 );
185
186 DROP TABLE IF EXISTS "logincerts";
187 CREATE TABLE "logincerts" (
188   "id" int NOT NULL,
189
190   PRIMARY KEY ("id")
191 );
192
193 DROP TABLE IF EXISTS "profiles";
194 CREATE TABLE "profiles" (
195   "id" serial NOT NULL,
196   "keyname" varchar(60) NOT NULL,
197   "include" varchar(200) NOT NULL,
198   "requires" varchar(200) NOT NULL,
199   "name" varchar(100) NOT NULL,
200   PRIMARY KEY ("id"),
201   UNIQUE ("keyname")
202 );
203
204 DROP TABLE IF EXISTS "subjectAlternativeNames";
205
206 DROP TYPE IF EXISTS "SANType";
207 CREATE TYPE "SANType" AS ENUM ('email', 'DNS');
208
209 CREATE TABLE "subjectAlternativeNames" (
210   "certId" int NOT NULL,
211   "contents" varchar(50) NOT NULL,
212   "type" "SANType" NOT NULL
213 );
214
215 DROP TABLE IF EXISTS "cacerts";
216 CREATE TABLE "cacerts" (
217   "id" serial NOT NULL,
218   "keyname" varchar(60) NOT NULL,
219   "link" varchar(160) NOT NULL,
220   "parentRoot" int NOT NULL,
221   "validFrom" timestamp NULL DEFAULT NULL,
222   "validTo" timestamp NULL DEFAULT NULL,
223   PRIMARY KEY ("id"),
224   UNIQUE ("keyname")
225 );
226
227 DROP TABLE IF EXISTS "jobs";
228
229 DROP TYPE IF EXISTS "jobType";
230 CREATE TYPE "jobType" AS ENUM ('sign', 'revoke');
231 DROP TYPE IF EXISTS "jobState";
232 CREATE TYPE "jobState" AS ENUM ('open', 'done', 'error');
233
234
235 CREATE TABLE "jobs" (
236   "id" serial NOT NULL,
237   "targetId" int NOT NULL,
238   "task" "jobType" NOT NULL,
239   "state" "jobState" NOT NULL DEFAULT 'open',
240   "attempt" smallint NOT NULL DEFAULT '0',
241   "executeFrom" DATE,
242   "executeTo" VARCHAR(11),
243   PRIMARY KEY ("id")
244 );
245
246 CREATE INDEX ON "jobs" ("state");
247
248 DROP TABLE IF EXISTS "notary";
249
250 DROP TYPE IF EXISTS "notaryType";
251 CREATE TYPE "notaryType" AS enum('Face to Face Meeting', 'TOPUP', 'TTP-Assisted', 'Nucleus Bonus');
252
253 CREATE TABLE "notary" (
254   "id" serial NOT NULL,
255   "from" int NOT NULL DEFAULT '0',
256   "to" int NOT NULL DEFAULT '0',
257 # total points that have been entered
258   "points" int NOT NULL DEFAULT '0',
259 # awarded and the "experience points" are calculated virtually
260 # Face to Face is default, TOPUP is for the remaining 30Points after two TTP
261 # TTP is default ttp verification
262   "method" "notaryType" NOT NULL DEFAULT 'Face to Face Meeting',
263   "location" varchar(255) NOT NULL DEFAULT '',
264   "date" varchar(255) NOT NULL DEFAULT '',
265 # date when verification was entered
266   "when" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
267 #?
268   "expire" timestamp NULL DEFAULT NULL,
269 #?????????????????
270   "sponsor" int NOT NULL DEFAULT '0',
271 # date when verification was deleted (or 0)
272   "deleted" timestamp NULL DEFAULT NULL,
273   "country" varchar(2) NULL,
274   PRIMARY KEY ("id")
275 );
276
277 CREATE INDEX ON "notary"("from");
278 CREATE INDEX ON "notary"("to");
279 CREATE INDEX ON "notary"("when");
280 CREATE INDEX ON "notary"("method");
281
282
283 DROP TABLE IF EXISTS "cats_passed";
284 CREATE TABLE "cats_passed" (
285   "id" serial NOT NULL,
286   "user_id" int NOT NULL,
287   "variant_id" int NOT NULL,
288   "pass_date" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
289   "language" varchar(5) NOT NULL DEFAULT '',
290   "version" varchar(10) NOT NULL DEFAULT '',
291   PRIMARY KEY ("id"),
292   UNIQUE ("user_id","variant_id","pass_date")
293 );
294
295 # --------------------------------------------------------
296
297 #
298 # Table structure for table "cats_type"
299 #
300
301 DROP TABLE IF EXISTS "cats_type";
302 CREATE TABLE "cats_type" (
303   "id" serial NOT NULL,
304   "type_text" varchar(255) NOT NULL,
305   PRIMARY KEY ("id"),
306   UNIQUE ("type_text")
307 );
308
309 # Add values to table "cats_type"
310 INSERT INTO `cats_type` (`type_text`) VALUES ('Agent Qualifying Challenge');
311 INSERT INTO `cats_type` (`type_text`) VALUES ('Organisation Agent Qualifying Challenge');
312 INSERT INTO `cats_type` (`type_text`) VALUES ('TTP Agent Qualifying Challenge');
313 INSERT INTO `cats_type` (`type_text`) VALUES ('TTP TOPUP Agent Qualifying Challenge');
314 INSERT INTO `cats_type` (`type_text`) VALUES ('Code Signing Challenge');
315 INSERT INTO `cats_type` (`type_text`) VALUES ('Organisation Administrator Data Protection Challenge');
316 INSERT INTO `cats_type` (`type_text`) VALUES ('Support Data Protection Challenge');
317
318 DROP TABLE IF EXISTS "arbitrations";
319 CREATE TABLE IF NOT EXISTS "arbitrations" (
320   "user" int NOT NULL,
321   "arbitration" varchar(20) NOT NULL,
322   PRIMARY KEY ("user","arbitration")
323 );
324
325 DROP TABLE IF EXISTS "user_groups";
326
327 DROP TYPE IF EXISTS "userGroup";
328 CREATE TYPE "userGroup" AS enum('supporter','blocked-applicant','blocked-agent','blocked-login','ttp-agent','ttp-applicant', 'codesigning', 'org-agent', 'blocked-cert', 'nucleus-agent', 'locate-agent', 'verify-notification');
329
330 CREATE TABLE IF NOT EXISTS "user_groups" (
331   "id" serial NOT NULL,
332   "user" int NOT NULL,
333   "permission" "userGroup" NOT NULL,
334   "granted" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
335   "deleted" timestamp NULL DEFAULT NULL,
336   "grantedby" int NOT NULL,
337   "revokedby" int DEFAULT NULL,
338   PRIMARY KEY ("id")
339 );
340
341 DROP TABLE IF EXISTS "org_admin";
342
343 DROP TYPE IF EXISTS "yesno";
344 CREATE TYPE "yesno" AS enum('y', 'n');
345
346
347 CREATE TABLE IF NOT EXISTS "org_admin" (
348   "orgid" int NOT NULL,
349   "memid" int NOT NULL,
350   "master" "yesno" NOT NULL,
351   "creator" int NOT NULL,
352   "created" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
353   "deleter" int NULL DEFAULT NULL,
354   "deleted" timestamp NULL DEFAULT NULL
355 );
356 CREATE INDEX ON "org_admin"("orgid", "memid");
357
358
359 DROP TABLE IF EXISTS "adminLog";
360 CREATE TABLE "adminLog" (
361   "when" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
362   "uid" int NOT NULL,
363   "admin" int NOT NULL,
364   "type" varchar(100) NOT NULL DEFAULT '',
365   "information" varchar(50) NOT NULL DEFAULT ''
366 );
367 CREATE INDEX ON "adminLog"("when");
368
369
370 DROP TABLE IF EXISTS "schemeVersion";
371 CREATE TABLE "schemeVersion" (
372   "version" smallint NOT NULL,
373   PRIMARY KEY ("version")
374 );
375 INSERT INTO "schemeVersion" (version)  VALUES(38);
376
377 DROP TABLE IF EXISTS `passwordResetTickets`;
378 CREATE TABLE `passwordResetTickets` (
379   `id` serial NOT NULL,
380   `memid` int NOT NULL,
381   `creator` int NOT NULL,
382   `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
383   `used` timestamp NULL DEFAULT NULL,
384   `token` varchar(32) NOT NULL,
385   `private_token` varchar(255) NOT NULL,
386   PRIMARY KEY (`id`)
387 );
388
389
390 /* Create table countryIsoCode' */
391
392 DROP TABLE IF EXISTS `countryIsoCode`;
393 CREATE TABLE `countryIsoCode` (
394   `id` serial NOT NULL,
395   `english` text NOT NULL,
396   `code2` varchar(2) NOT NULL,
397   `code3` varchar(3) NOT NULL,
398   `obp_id` int NOT NULL,
399   PRIMARY KEY (`id`)
400 );
401
402 /* Fill table countryIsoCode' */
403 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Andorra', 'AD',  'AND',  020);
404 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('United Arab Emirates (the)',  'AE',  'ARE',  784);
405 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Afghanistan',  'AF',  'AFG',  004);
406 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Antigua and Barbuda',  'AG',  'ATG',  028);
407 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Anguilla',  'AI',  'AIA',  660);
408 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Albania',  'AL',  'ALB',  008);
409 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Armenia',  'AM',  'ARM',  051);
410 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Angola',  'AO',  'AGO',  024);
411 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Antarctica',  'AQ',  'ATA',  010);
412 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Argentina',  'AR',  'ARG',  032);
413 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('American Samoa',  'AS',  'ASM',  016);
414 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Austria',  'AT',  'AUT',  040);
415 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Australia',  'AU',  'AUS',  036);
416 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Aruba',  'AW',  'ABW',  533);
417 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Ă…land Islands',  'AX',  'ALA',  248);
418 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Azerbaijan',  'AZ',  'AZE',  031);
419 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Bosnia and Herzegovina',  'BA',  'BIH',  070);
420 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Barbados',  'BB',  'BRB',  052);
421 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Bangladesh',  'BD',  'BGD',  050);
422 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Belgium',  'BE',  'BEL',  056);
423 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Burkina Faso',  'BF',  'BFA',  854);
424 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Bulgaria',  'BG',  'BGR',  100);
425 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Bahrain',  'BH',  'BHR',  048);
426 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Burundi',  'BI',  'BDI',  108);
427 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Benin',  'BJ',  'BEN',  204);
428 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Saint BarthĂ©lemy',  'BL',  'BLM',  652);
429 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Bermuda',  'BM',  'BMU',  060);
430 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Brunei Darussalam',  'BN',  'BRN',  096);
431 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Bolivia (Plurinational State of)',  'BO',  'BOL',  068);
432 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Bonaire, Sint Eustatius and Saba',  'BQ',  'BES',  535);
433 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Brazil',  'BR',  'BRA',  076);
434 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Bahamas (the)',  'BS',  'BHS',  044);
435 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Bhutan',  'BT',  'BTN',  064);
436 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Bouvet Island',  'BV',  'BVT',  074);
437 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Botswana',  'BW',  'BWA',  072);
438 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Belarus',  'BY',  'BLR',  112);
439 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Belize',  'BZ',  'BLZ',  084);
440 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Canada',  'CA',  'CAN',  124);
441 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Cocos (Keeling) Islands (the)',  'CC',  'CCK',  166);
442 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Congo (the Democratic Republic of the)',  'CD',  'COD',  180);
443 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Central African Republic (the)',  'CF',  'CAF',  140);
444 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Congo (the)',  'CG',  'COG',  178);
445 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Switzerland',  'CH',  'CHE',  756);
446 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('CĂ´te d`Ivoire',  'CI',  'CIV',  384);
447 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Cook Islands (the)',  'CK',  'COK',  184);
448 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Chile',  'CL',  'CHL',  152);
449 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Cameroon',  'CM',  'CMR',  120);
450 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('China',  'CN',  'CHN',  156);
451 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Colombia',  'CO',  'COL',  170);
452 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Costa Rica',  'CR',  'CRI',  188);
453 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Cuba',  'CU',  'CUB',  192);
454 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Cabo Verde',  'CV',  'CPV',  132);
455 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Curaçao',  'CW',  'CUW',  531);
456 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Christmas Island',  'CX',  'CXR',  162);
457 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Cyprus',  'CY',  'CYP',  196);
458 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Czech Republic (the)',  'CZ',  'CZE',  203);
459 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Germany',  'DE',  'DEU',  276);
460 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Djibouti',  'DJ',  'DJI',  262);
461 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Denmark',  'DK',  'DNK',  208);
462 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Dominica',  'DM',  'DMA',  212);
463 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Dominican Republic (the)',  'DO',  'DOM',  214);
464 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Algeria',  'DZ',  'DZA',  012);
465 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Ecuador',  'EC',  'ECU',  218);
466 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Estonia',  'EE',  'EST',  233);
467 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Egypt',  'EG',  'EGY',  818);
468 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Western Sahara*',  'EH',  'ESH',  732);
469 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Eritrea',  'ER',  'ERI',  232);
470 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Spain',  'ES',  'ESP',  724);
471 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Ethiopia',  'ET',  'ETH',  231);
472 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Finland',  'FI',  'FIN',  246);
473 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Fiji',  'FJ',  'FJI',  242);
474 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Falkland Islands (the) [Malvinas]',  'FK',  'FLK',  238);
475 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Micronesia (Federated States of)',  'FM',  'FSM',  583);
476 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Faroe Islands (the)',  'FO',  'FRO',  234);
477 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('France',  'FR',  'FRA',  250);
478 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Gabon',  'GA',  'GAB',  266);
479 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('United Kingdom of Great Britain and Northern Ireland (the)',  'GB',  'GBR',  826);
480 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Grenada',  'GD',  'GRD',  308);
481 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Georgia',  'GE',  'GEO',  268);
482 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('French Guiana',  'GF',  'GUF',  254);
483 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Guernsey',  'GG',  'GGY',  831);
484 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Ghana',  'GH',  'GHA',  288);
485 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Gibraltar',  'GI',  'GIB',  292);
486 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Greenland',  'GL',  'GRL',  304);
487 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Gambia (the)',  'GM',  'GMB',  270);
488 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Guinea',  'GN',  'GIN',  324);
489 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Guadeloupe',  'GP',  'GLP',  312);
490 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Equatorial Guinea',  'GQ',  'GNQ',  226);
491 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Greece',  'GR',  'GRC',  300);
492 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('South Georgia and the South Sandwich Islands',  'GS',  'SGS',  239);
493 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Guatemala',  'GT',  'GTM',  320);
494 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Guam',  'GU',  'GUM',  316);
495 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Guinea-Bissau',  'GW',  'GNB',  624);
496 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Guyana',  'GY',  'GUY',  328);
497 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Hong Kong',  'HK',  'HKG',  344);
498 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Heard Island and McDonald Islands',  'HM',  'HMD',  334);
499 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Honduras',  'HN',  'HND',  340);
500 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Croatia',  'HR',  'HRV',  191);
501 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Haiti',  'HT',  'HTI',  332);
502 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Hungary',  'HU',  'HUN',  348);
503 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Indonesia',  'ID',  'IDN',  360);
504 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Ireland',  'IE',  'IRL',  372);
505 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Israel',  'IL',  'ISR',  376);
506 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Isle of Man',  'IM',  'IMN',  833);
507 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('India',  'IN',  'IND',  356);
508 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('British Indian Ocean Territory (the)',  'IO',  'IOT',  086);
509 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Iraq',  'IQ',  'IRQ',  368);
510 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Iran (Islamic Republic of)',  'IR',  'IRN',  364);
511 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Iceland',  'IS',  'ISL',  352);
512 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Italy',  'IT',  'ITA',  380);
513 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Jersey',  'JE',  'JEY',  832);
514 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Jamaica',  'JM',  'JAM',  388);
515 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Jordan',  'JO',  'JOR',  400);
516 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Japan',  'JP',  'JPN',  392);
517 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Kenya',  'KE',  'KEN',  404);
518 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Kyrgyzstan',  'KG',  'KGZ',  417);
519 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Cambodia',  'KH',  'KHM',  116);
520 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Kiribati',  'KI',  'KIR',  296);
521 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Comoros (the)',  'KM',  'COM',  174);
522 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Saint Kitts and Nevis',  'KN',  'KNA',  659);
523 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Korea (the Democratic People`s Republic of)',  'KP',  'PRK',  408);
524 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Korea (the Republic of)',  'KR',  'KOR',  410);
525 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Kuwait',  'KW',  'KWT',  414);
526 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Cayman Islands (the)',  'KY',  'CYM',  136);
527 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Kazakhstan',  'KZ',  'KAZ',  398);
528 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Lao People`s Democratic Republic (the)',  'LA',  'LAO',  418);
529 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Lebanon',  'LB',  'LBN',  422);
530 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Saint Lucia',  'LC',  'LCA',  662);
531 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Liechtenstein',  'LI',  'LIE',  438);
532 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Sri Lanka',  'LK',  'LKA',  144);
533 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Liberia',  'LR',  'LBR',  430);
534 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Lesotho',  'LS',  'LSO',  426);
535 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Lithuania',  'LT',  'LTU',  440);
536 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Luxembourg',  'LU',  'LUX',  442);
537 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Latvia',  'LV',  'LVA',  428);
538 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Libya',  'LY',  'LBY',  434);
539 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Morocco',  'MA',  'MAR',  504);
540 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Monaco',  'MC',  'MCO',  492);
541 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Moldova (the Republic of)',  'MD',  'MDA',  498);
542 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Montenegro',  'ME',  'MNE',  499);
543 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Saint Martin (French part)',  'MF',  'MAF',  663);
544 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Madagascar',  'MG',  'MDG',  450);
545 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Marshall Islands (the)',  'MH',  'MHL',  584);
546 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Macedonia (the former Yugoslav Republic of)',  'MK',  'MKD',  807);
547 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Mali',  'ML',  'MLI',  466);
548 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Myanmar',  'MM',  'MMR',  104);
549 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Mongolia',  'MN',  'MNG',  496);
550 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Macao',  'MO',  'MAC',  446);
551 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Northern Mariana Islands (the)',  'MP',  'MNP',  580);
552 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Martinique',  'MQ',  'MTQ',  474);
553 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Mauritania',  'MR',  'MRT',  478);
554 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Montserrat',  'MS',  'MSR',  500);
555 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Malta',  'MT',  'MLT',  470);
556 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Mauritius',  'MU',  'MUS',  480);
557 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Maldives',  'MV',  'MDV',  462);
558 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Malawi',  'MW',  'MWI',  454);
559 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Mexico',  'MX',  'MEX',  484);
560 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Malaysia',  'MY',  'MYS',  458);
561 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Mozambique',  'MZ',  'MOZ',  508);
562 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Namibia',  'NA',  'NAM',  516);
563 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('New Caledonia',  'NC',  'NCL',  540);
564 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Niger (the)',  'NE',  'NER',  562);
565 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Norfolk Island',  'NF',  'NFK',  574);
566 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Nigeria',  'NG',  'NGA',  566);
567 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Nicaragua',  'NI',  'NIC',  558);
568 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Netherlands (the)',  'NL',  'NLD',  528);
569 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Norway',  'NO',  'NOR',  578);
570 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Nepal',  'NP',  'NPL',  524);
571 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Nauru',  'NR',  'NRU',  520);
572 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Niue',  'NU',  'NIU',  570);
573 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('New Zealand',  'NZ',  'NZL',  554);
574 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Oman',  'OM',  'OMN',  512);
575 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Panama',  'PA',  'PAN',  591);
576 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Peru',  'PE',  'PER',  604);
577 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('French Polynesia',  'PF',  'PYF',  258);
578 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Papua New Guinea',  'PG',  'PNG',  598);
579 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Philippines (the)',  'PH',  'PHL',  608);
580 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Pakistan',  'PK',  'PAK',  586);
581 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Poland',  'PL',  'POL',  616);
582 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Saint Pierre and Miquelon',  'PM',  'SPM',  666);
583 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Pitcairn',  'PN',  'PCN',  612);
584 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Puerto Rico',  'PR',  'PRI',  630);
585 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Palestine,  State of',  'PS',  'PSE',  275);
586 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Portugal',  'PT',  'PRT',  620);
587 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Palau',  'PW',  'PLW',  585);
588 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Paraguay',  'PY',  'PRY',  600);
589 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Qatar',  'QA',  'QAT',  634);
590 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('RĂ©union',  'RE',  'REU',  638);
591 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Romania',  'RO',  'ROU',  642);
592 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Serbia',  'RS',  'SRB',  688);
593 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Russian Federation (the)',  'RU',  'RUS',  643);
594 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Rwanda',  'RW',  'RWA',  646);
595 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Saudi Arabia',  'SA',  'SAU',  682);
596 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Solomon Islands',  'SB',  'SLB',  090);
597 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Seychelles',  'SC',  'SYC',  690);
598 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Sudan (the)',  'SD',  'SDN',  729);
599 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Sweden',  'SE',  'SWE',  752);
600 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Singapore',  'SG',  'SGP',  702);
601 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Saint Helena, Ascension and Tristan da Cunha',  'SH',  'SHN',  654);
602 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Slovenia',  'SI',  'SVN',  705);
603 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Svalbard and Jan Mayen',  'SJ',  'SJM',  744);
604 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Slovakia',  'SK',  'SVK',  703);
605 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Sierra Leone',  'SL',  'SLE',  694);
606 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('San Marino',  'SM',  'SMR',  674);
607 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Senegal',  'SN',  'SEN',  686);
608 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Somalia',  'SO',  'SOM',  706);
609 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Suriname',  'SR',  'SUR',  740);
610 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('South Sudan',  'SS',  'SSD',  728);
611 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Sao Tome and Principe',  'ST',  'STP',  678);
612 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('El Salvador',  'SV',  'SLV',  222);
613 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Sint Maarten (Dutch part)',  'SX',  'SXM',  534);
614 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Syrian Arab Republic',  'SY',  'SYR',  760);
615 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Swaziland',  'SZ',  'SWZ',  748);
616 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Turks and Caicos Islands (the)',  'TC',  'TCA',  796);
617 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Chad',  'TD',  'TCD',  148);
618 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('French Southern Territories (the)',  'TF',  'ATF',  260);
619 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Togo',  'TG',  'TGO',  768);
620 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Thailand',  'TH',  'THA',  764);
621 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Tajikistan',  'TJ',  'TJK',  762);
622 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Tokelau',  'TK',  'TKL',  772);
623 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Timor-Leste',  'TL',  'TLS',  626);
624 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Turkmenistan',  'TM',  'TKM',  795);
625 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Tunisia',  'TN',  'TUN',  788);
626 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Tonga',  'TO',  'TON',  776);
627 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Turkey',  'TR',  'TUR',  792);
628 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Trinidad and Tobago',  'TT',  'TTO',  780);
629 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Tuvalu',  'TV',  'TUV',  798);
630 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Taiwan (Province of China)',  'TW',  'TWN',  158);
631 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Tanzania,  United Republic of',  'TZ',  'TZA',  834);
632 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Ukraine',  'UA',  'UKR',  804);
633 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Uganda',  'UG',  'UGA',  800);
634 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('United States Minor Outlying Islands (the)',  'UM',  'UMI',  581);
635 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('United States of America (the)',  'US',  'USA',  840);
636 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Uruguay',  'UY',  'URY',  858);
637 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Uzbekistan',  'UZ',  'UZB',  860);
638 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Holy See (the)',  'VA',  'VAT',  336);
639 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Saint Vincent and the Grenadines',  'VC',  'VCT',  670);
640 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Venezuela (Bolivarian Republic of)',  'VE',  'VEN',  862);
641 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Virgin Islands (British)',  'VG',  'VGB',  092);
642 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Virgin Islands (U.S.)',  'VI',  'VIR',  850);
643 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Viet Nam',  'VN',  'VNM',  704);
644 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Vanuatu',  'VU',  'VUT',  548);
645 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Wallis and Futuna',  'WF',  'WLF',  876);
646 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Samoa',  'WS',  'WSM',  882);
647 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Yemen',  'YE',  'YEM',  887);
648 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Mayotte',  'YT',  'MYT',  175);
649 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('South Africa',  'ZA',  'ZAF',  710);
650 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Zambia',  'ZM',  'ZMB',  894);
651 INSERT INTO `countryIsoCode`(english, code2, code3, obp_id) VALUES ('Zimbabwe',  'ZW',  'ZWE',  716);
652
653
654
655 DROP TABLE IF EXISTS "names";
656 DROP TYPE IF EXISTS "nameSchemaType";
657 CREATE TYPE "nameSchemaType" AS ENUM ('single', 'western');
658
659 CREATE TABLE "names" (
660   "id" serial NOT NULL,
661   "uid" int NOT NULL,
662   "type" "nameSchemaType" NOT NULL,
663   "created" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
664   "deleted" timestamp NULL DEFAULT NULL,
665   "deprecated" timestamp NULL DEFAULT NULL,
666   PRIMARY KEY ("id")
667 );
668
669
670 DROP TABLE IF EXISTS "nameParts";
671 DROP TYPE IF EXISTS "namePartType";
672 CREATE TYPE "namePartType" AS ENUM ('first-name', 'last-name', 'single-name', 'suffix');
673
674 CREATE TABLE "nameParts" (
675   "id" int NOT NULL,
676   "position" int NOT NULL,
677   "type" "namePartType" NOT NULL,
678   "value" varchar(255) NOT NULL
679 );
680
681
682 DROP TABLE IF EXISTS "certificateAttachment";
683 DROP TYPE IF EXISTS "certificateAttachmentType";
684 CREATE TYPE "certificateAttachmentType" AS ENUM ('CSR','CRT');
685
686 CREATE TABLE "certificateAttachment" (
687   "certid" int NOT NULL,
688   "type" "certificateAttachmentType" NOT NULL,
689   "content" text NOT NULL,
690   PRIMARY KEY ("certid", "type")
691 );
692
693 DROP TABLE IF EXISTS "jobLog";
694 CREATE TABLE "jobLog" (
695   "jobid" int NOT NULL,
696   "attempt" smallint NOT NULL,
697   "content" text NOT NULL,
698   PRIMARY KEY ("jobid", "attempt")
699 );
700 CREATE INDEX ON "jobLog" ("jobid");
701
702 DROP TABLE IF EXISTS "user_contracts";
703 DROP TYPE IF EXISTS "contractType";
704 CREATE TYPE "contractType" AS ENUM ('RA Agent Contract', 'Org RA Agent Contract');
705
706 CREATE TABLE "user_contracts" (
707   "id" serial NOT NULL,
708   "token" varchar(32) NOT NULL,
709   "memid" int NOT NULL,
710   "document" "contractType" NOT NULL,
711   "agentname" varchar(255) NOT NULL,
712   "datesigned" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
713   "daterevoked" timestamp DEFAULT NULL,
714   PRIMARY KEY ("id")
715 );
716 CREATE INDEX ON "user_contracts" ("memid");
717 CREATE INDEX ON "user_contracts" ("document");
718 CREATE INDEX ON "user_contracts" ("datesigned");
719 CREATE INDEX ON "user_contracts" ("daterevoked");