create_tables.sql 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744
  1. --
  2. -- Copyright (c) 2019 Clementine Computing LLC.
  3. --
  4. -- This file is part of PopuFare.
  5. --
  6. -- PopuFare is free software: you can redistribute it and/or modify
  7. -- it under the terms of the GNU Affero General Public License as published by
  8. -- the Free Software Foundation, either version 3 of the License, or
  9. -- (at your option) any later version.
  10. --
  11. -- PopuFare is distributed in the hope that it will be useful,
  12. -- but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. -- GNU Affero General Public License for more details.
  15. --
  16. -- You should have received a copy of the GNU Affero General Public License
  17. -- along with PopuFare. If not, see <https://www.gnu.org/licenses/>.
  18. --
  19. -- AVLS data table receives all AVLS chirps and stores them for later reference
  20. CREATE TABLE IF NOT EXISTS avls_data (
  21. id bigint auto_increment primary key,
  22. equip_num INT,
  23. driver INT,
  24. paddle INT,
  25. route INT,
  26. trip INT,
  27. stop INT,
  28. chirp_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  29. latitude DOUBLE,
  30. longitude DOUBLE,
  31. heading DOUBLE,
  32. velocity DOUBLE,
  33. INDEX chirp_idx (chirp_time)
  34. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  35. -- Bus Pass Table holds all bus pass holders
  36. -- DROP TABLE IF EXISTS `active_rider_table`;
  37. CREATE TABLE IF NOT EXISTS active_rider_table (
  38. -- The following entries are stored on the client as well and kept in sync
  39. logical_card_id BIGINT NOT NULL,
  40. seq_num BIGINT UNIQUE PRIMARY KEY AUTO_INCREMENT,
  41. rfid_token VARCHAR(32),
  42. mag_token VARCHAR(32),
  43. rule_name VARCHAR(24),
  44. rule_param VARCHAR(24),
  45. -- The rest are for server-side recordkeeping...
  46. deleted BOOLEAN DEFAULT '0',
  47. parent_entity VARCHAR(32),
  48. notes VARCHAR(64),
  49. -- And some additional index data
  50. INDEX id_idx (logical_card_id),
  51. INDEX id_and_seq (logical_card_id, seq_num)
  52. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  53. -- Billing Log Table
  54. -- DROP TABLE IF EXISTS `billing_log`;
  55. CREATE TABLE IF NOT EXISTS billing_log (
  56. id bigint auto_increment primary key,
  57. -- MD5 sum of the orignal record as sent by the client, used to confirm storing the record
  58. conf_checksum VARCHAR(32) UNIQUE,
  59. -- Contents of the billing log entry coming from the client
  60. equip_num INT,
  61. driver INT,
  62. paddle INT,
  63. route INT,
  64. trip INT,
  65. stop INT,
  66. ride_time TIMESTAMP,
  67. latitude DOUBLE,
  68. longitude DOUBLE,
  69. action VARCHAR(16),
  70. rule VARCHAR(24),
  71. ruleparam VARCHAR(24),
  72. reason VARCHAR(64),
  73. credential VARCHAR(32),
  74. logical_card_id BIGINT NOT NULL,
  75. cash_value INT,
  76. stop_name VARCHAR(64)
  77. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  78. CREATE TABLE IF NOT EXISTS diagnostic_log (
  79. id bigINT auto_increment PRIMARY KEY,
  80. servertime TIMESTAMP default CURRENT_TIMESTAMP,
  81. loglvl VARCHAR(8),
  82. message VARCHAR(256),
  83. -- And some additional index data
  84. INDEX servertime_idx (servertime),
  85. UNIQUE INDEX lvl_msg_idx (servertime, loglvl)
  86. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  87. drop table if exists pass_option;
  88. create table pass_option (
  89. id bigint auto_increment primary key,
  90. group_id int,
  91. param int,
  92. name varchar(255),
  93. rule varchar(255),
  94. db_rule varchar(255),
  95. type varchar(255),
  96. description varchar(255),
  97. num_opt int default 0,
  98. option0 varchar(255),
  99. option1 varchar(255),
  100. option2 varchar(255),
  101. option3 varchar(255),
  102. active tinyint default 0
  103. -- primary key (id),
  104. -- unique key id (id)
  105. ) engine=InnoDB ;
  106. CREATE TABLE IF NOT EXISTS rule_class (
  107. id bigint auto_increment primary key,
  108. rulename VARCHAR(24),
  109. ruleclass VARCHAR(24)
  110. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  111. CREATE TABLE IF NOT EXISTS update_level (
  112. equip_num INT NOT NULL DEFAULT 0,
  113. client_file VARCHAR(32) NOT NULL,
  114. checksum VARCHAR(32) NOT NULL,
  115. file_size INT NOT NULL,
  116. file_path VARCHAR(512) NOT NULL,
  117. fileversion VARCHAR(32),
  118. -- The following field is never manually set and is used only to pull the latest value
  119. -- serial BIGINT NOT NULL AUTO_INCREMENT,
  120. serial BIGINT AUTO_INCREMENT primary key,
  121. -- These indicies should make the operation of "give me the latest of each update for bus number X" fast
  122. INDEX equip_num_idx (equip_num),
  123. INDEX client_file_idx (client_file),
  124. INDEX serial_idx (serial),
  125. INDEX file_eqip_idx (client_file, equip_num)
  126. )ENGINE=InnoDB DEFAULT CHARSET=utf8;
  127. CREATE TABLE IF NOT EXISTS bus_checkin_log (
  128. id bigint auto_increment primary key,
  129. checkin_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  130. busunit_num INT NOT NULL DEFAULT 0,
  131. equip_num INT NOT NULL DEFAULT 0,
  132. eth0_mac VARCHAR(17),
  133. cell_imei VARCHAR(15),
  134. cell_imsi VARCHAR(15),
  135. version_data VARCHAR(256),
  136. INDEX time_index(checkin_time),
  137. INDEX equip_num_idx (equip_num),
  138. INDEX busunit_num_idx (busunit_num)
  139. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  140. DROP TABLE IF EXISTS `user_pass`;
  141. CREATE TABLE `user_pass` (
  142. user_pass_id BIGINT UNIQUE NOT NULL auto_increment,
  143. logical_card_id BIGINT default NULL,
  144. issued datetime default NULL,
  145. activated datetime default NULL,
  146. deactivated datetime default NULL,
  147. firstused datetime default NULL,
  148. lastused datetime default NULL,
  149. nrides_orig int(11) default NULL,
  150. nrides_remain int(11) default NULL,
  151. nday_orig int(11) default NULL,
  152. nday_expiration datetime default NULL,
  153. active tinyint(1) default 0,
  154. expired tinyint(1) default 0,
  155. rule varchar(255) default NULL,
  156. queue_order int(11) default NULL,
  157. comment varchar(255) default NULL,
  158. paytype varchar(255) default NULL,
  159. PRIMARY KEY (user_pass_id),
  160. UNIQUE KEY user_pass_idx (user_pass_id),
  161. KEY user_pass_idx_logical_card_id (logical_card_id)
  162. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  163. DROP TABLE IF EXISTS `user_card`;
  164. CREATE TABLE `user_card` (
  165. logical_card_id BIGINT UNIQUE NOT NULL auto_increment,
  166. -- legacy, will remove in final phase2
  167. -- card_number varchar(128) UNIQUE default NULL,
  168. -- rfsite int(127) default NULL,
  169. -- rfid int(127) default NULL,
  170. --
  171. mag_token varchar(255) default null,
  172. rfid_token varchar(255) default null,
  173. comment varchar(255) default NULL,
  174. userid int(11) default NULL,
  175. issued datetime default NULL,
  176. active tinyint(1) default 1,
  177. deactivated datetime default NULL,
  178. lastused datetime default NULL,
  179. firstused datetime default NULL,
  180. group_id int(11) default NULL,
  181. issuetype varchar(255) default NULL,
  182. PRIMARY KEY (logical_card_id),
  183. UNIQUE KEY user_card_idx (logical_card_id),
  184. KEY user_card_idx_mag_token (mag_token),
  185. KEY user_card_idx_rfid_token (rfid_token),
  186. KEY user_card_idx_mag_rfid_token (mag_token,rfid_token),
  187. KEY user_card_idx_userid (userid)
  188. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  189. DROP TABLE IF EXISTS `groups`;
  190. CREATE TABLE `groups` (
  191. id bigint auto_increment primary key,
  192. group_id int(11) default NULL,
  193. group_name varchar(255) default NULL
  194. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  195. DROP TABLE IF EXISTS `audit_user_pass`;
  196. CREATE TABLE `audit_user_pass` (
  197. `audit_user_pass_id` int(11) NOT NULL auto_increment,
  198. `old_user_pass_id` int(11) default NULL,
  199. `old_logical_card_id` int(11) default NULL,
  200. `old_issued` datetime default NULL,
  201. `old_firstused` datetime default NULL,
  202. `old_lastused` datetime default NULL,
  203. `old_nrides_orig` int(11) default NULL,
  204. `old_nrides_remain` int(11) default NULL,
  205. `old_nday_orig` int(11) default NULL,
  206. `old_nday_expiration` datetime default NULL,
  207. `old_active` int(11) default NULL,
  208. `old_rule` char(255) default NULL,
  209. `old_queue_order` int(11) default NULL,
  210. `old_log_id` int(11) default NULL,
  211. `old_comment` varchar(255) default NULL,
  212. `new_user_pass_id` int(11) default NULL,
  213. `new_logical_card_id` int(11) default NULL,
  214. `new_issued` datetime default NULL,
  215. `new_firstused` datetime default NULL,
  216. `new_lastused` datetime default NULL,
  217. `new_nrides_orig` int(11) default NULL,
  218. `new_nrides_remain` int(11) default NULL,
  219. `new_nday_orig` int(11) default NULL,
  220. `new_nday_expiration` datetime default NULL,
  221. `new_active` int(11) default NULL,
  222. `new_rule` char(255) default NULL,
  223. `new_queue_order` int(11) default NULL,
  224. `new_log_id` int(11) default NULL,
  225. `new_comment` varchar(255) default NULL,
  226. `comment` varchar(255) default NULL,
  227. `owner_id` int(11) default NULL,
  228. `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  229. `old_expired` tinyint(10) default NULL,
  230. `new_expired` tinyint(1) default NULL,
  231. `old_paytype` varchar(255) default NULL,
  232. `new_paytype` varchar(255) default NULL,
  233. PRIMARY KEY (`audit_user_pass_id`),
  234. INDEX audit_user_pass_id_idx (audit_user_pass_id),
  235. INDEX audit_user_pass_timestamp_idx (timestamp),
  236. INDEX audit_user_pass_new_user_pass_id_idx (new_user_pass_id),
  237. INDEX audit_user_pass_old_user_pass_id_idx (old_user_pass_id)
  238. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  239. DROP TABLE IF EXISTS `audit_user_card`;
  240. CREATE TABLE `audit_user_card` (
  241. `audit_user_card_id` int(11) NOT NULL auto_increment,
  242. `old_logical_card_id` int(11) default NULL,
  243. -- `old_card_number` char(128) default NULL,
  244. -- `old_rfsite` int(11) default NULL,
  245. -- `old_rfid` int(11) default NULL,
  246. `old_comment` varchar(255) default NULL,
  247. `old_lastused` datetime default NULL,
  248. `old_userid` int(11) default NULL,
  249. `old_issued` datetime default NULL,
  250. `old_firstused` datetime default NULL,
  251. `old_group_id` int(11) default NULL,
  252. `old_issuetype` varchar(255) default NULL,
  253. `new_logical_card_id` int(11) default NULL,
  254. -- `new_card_number` char(128) default NULL,
  255. -- `new_rfsite` int(11) default NULL,
  256. -- `new_rfid` int(11) default NULL,
  257. `new_comment` varchar(255) default NULL,
  258. `new_lastused` datetime default NULL,
  259. `new_userid` int(11) default NULL,
  260. `new_issued` datetime default NULL,
  261. `new_firstused` datetime default NULL,
  262. `new_group_id` int(11) default NULL,
  263. `new_issuetype` varchar(255) default NULL,
  264. `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  265. `comment` varchar(255) default NULL,
  266. `old_mag_token` varchar(31) default NULL,
  267. `new_mag_token` varchar(31) default NULL,
  268. `old_rfid_token` varchar(31) default NULL,
  269. `new_rfid_token` varchar(31) default NULL,
  270. `old_active` tinyint(1) default NULL,
  271. `new_active` tinyint(1) default NULL,
  272. `old_deactivated` datetime default null,
  273. `new_deactivated` datetime default null,
  274. PRIMARY KEY (`audit_user_card_id`),
  275. INDEX audit_user_card_id_idx (audit_user_card_id),
  276. INDEX audit_user_card_timestampe_idx (timestamp),
  277. INDEX audit_user_card_new_logical_card_id_idx (new_logical_card_id),
  278. INDEX audit_user_card_old_logical_card_id_idx (old_logical_card_id),
  279. INDEX audit_user_card_new_mag_token_idx (new_mag_token),
  280. INDEX audit_user_card_old_mag_token_idx (old_mag_token),
  281. INDEX audit_user_card_new_rfid_token_idx (new_rfid_token),
  282. INDEX audit_user_card_old_rfid_token_idx (old_rfid_token)
  283. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  284. DROP TABLE IF EXISTS `users`;
  285. CREATE TABLE `users` (
  286. `username` char(255) default NULL,
  287. `userid` int(127) NOT NULL auto_increment,
  288. `comment` char(255) default NULL,
  289. `first_name` char(128) default NULL,
  290. `last_name` char(128) default NULL,
  291. `phone` char(31) default NULL,
  292. `email` char(128) default NULL,
  293. `address` char(255) default NULL,
  294. `city` char(127) default NULL,
  295. `state` char(127) default NULL,
  296. `zip` char(31) default NULL,
  297. `created` datetime default NULL,
  298. `active` tinyint(1) default NULL,
  299. `passwordhash` varchar(255) default NULL,
  300. `shipping_address` varchar(255) default NULL,
  301. `shipping_city` varchar(255) default NULL,
  302. `shipping_state` varchar(255) default NULL,
  303. `shipping_zip` varchar(255) default NULL,
  304. `shipping_name` varchar(255) default NULL,
  305. `shipping_country_code` varchar(32) default NULL,
  306. `shipping_country_name` varchar(255) default NULL,
  307. `reset_attempts` int(11) default '0',
  308. PRIMARY KEY (`userid`)
  309. ) ENGINE=InnoDB AUTO_INCREMENT=325 DEFAULT CHARSET=latin1;
  310. DROP TABLE IF EXISTS `audit_users`;
  311. CREATE TABLE `audit_users` (
  312. `audit_users_id` int(11) NOT NULL auto_increment,
  313. `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  314. `comment` varchar(255) default NULL,
  315. `old_username` char(255) default NULL,
  316. `old_userid` int(127) default NULL,
  317. `old_comment` char(255) default NULL,
  318. `old_first_name` char(128) default NULL,
  319. `old_last_name` char(128) default NULL,
  320. `old_phone` char(31) default NULL,
  321. `old_email` char(128) default NULL,
  322. `old_address` char(255) default NULL,
  323. `old_city` char(127) default NULL,
  324. `old_state` char(127) default NULL,
  325. `old_zip` char(31) default NULL,
  326. `old_created` datetime default NULL,
  327. `old_active` tinyint(1) default NULL,
  328. `old_passwordhash` varchar(255) default NULL,
  329. `new_username` char(255) default NULL,
  330. `new_userid` int(127) default NULL,
  331. `new_comment` char(255) default NULL,
  332. `new_first_name` char(128) default NULL,
  333. `new_last_name` char(128) default NULL,
  334. `new_phone` char(31) default NULL,
  335. `new_email` char(128) default NULL,
  336. `new_address` char(255) default NULL,
  337. `new_city` char(127) default NULL,
  338. `new_state` char(127) default NULL,
  339. `new_zip` char(31) default NULL,
  340. `new_created` datetime default NULL,
  341. `new_active` tinyint(1) default NULL,
  342. `new_passwordhash` varchar(255) default NULL,
  343. `old_shipping_address` varchar(255) default NULL,
  344. `old_shipping_city` varchar(255) default NULL,
  345. `old_shipping_state` varchar(255) default NULL,
  346. `old_shipping_zip` varchar(255) default NULL,
  347. `old_shipping_name` varchar(255) default NULL,
  348. `old_shipping_country_code` varchar(255) default NULL,
  349. `old_shipping_country_name` varchar(32) default NULL,
  350. `old_reset_attempts` varchar(255) default NULL,
  351. `new_shipping_address` varchar(255) default NULL,
  352. `new_shipping_city` varchar(255) default NULL,
  353. `new_shipping_state` varchar(255) default NULL,
  354. `new_shipping_zip` varchar(255) default NULL,
  355. `new_shipping_name` varchar(255) default NULL,
  356. `new_shipping_country_code` varchar(255) default NULL,
  357. `new_shipping_country_name` varchar(32) default NULL,
  358. `new_reset_attempts` varchar(255) default NULL,
  359. PRIMARY KEY (`audit_users_id`)
  360. ) ENGINE=InnoDB AUTO_INCREMENT=373 DEFAULT CHARSET=latin1;
  361. -- Admin Web UI tables
  362. DROP TABLE IF EXISTS `admins`;
  363. CREATE TABLE `admins` (
  364. `userid` int(127) not NULL auto_increment,
  365. `group_id` int default NULL,
  366. `username` char(255) default NULL,
  367. `password` char(255) default NULL,
  368. `active` tinyint default 1,
  369. `comment` varchar(255) default null,
  370. PRIMARY KEY (`userid`)
  371. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  372. DROP TABLE IF EXISTS `audit_admins`;
  373. CREATE TABLE `audit_admins` (
  374. `audit_admins_id` int(11) NOT NULL auto_increment,
  375. `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  376. `comment` varchar(255) default NULL,
  377. `old_userid` int default NULL,
  378. `old_username` varchar(255) default NULL,
  379. `old_password` varchar(255) default NULL,
  380. `new_userid` int default NULL,
  381. `new_username` varchar(255) default NULL,
  382. `new_password` varchar(255) default NULL,
  383. PRIMARY KEY (`audit_admins_id`)
  384. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  385. DROP TABLE IF EXISTS `admins_session_info`;
  386. CREATE TABLE `admins_session_info` (
  387. `id` int not null auto_increment,
  388. `userid` int(255) default NULL,
  389. `sessionid` char(255) default NULL,
  390. `lastactive` datetime default NULL,
  391. PRIMARY KEY (`id`)
  392. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  393. DROP TABLE IF EXISTS `admin_groups`;
  394. CREATE TABLE `admin_groups` (
  395. `id` int not null auto_increment,
  396. `userid` int(127) default NULL,
  397. `group_id` int(11) default NULL,
  398. `permissions` int(127) default NULL,
  399. PRIMARY KEY (`id`)
  400. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  401. DROP TABLE IF EXISTS `rule_mappings`;
  402. CREATE TABLE `rule_mappings` (
  403. `id` int not null auto_increment,
  404. `rule` char(255) NOT NULL default '',
  405. `rule_text` char(255) default NULL,
  406. `group_id` int(11) default NULL,
  407. `active` int,
  408. PRIMARY KEY (`id`)
  409. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  410. DROP TABLE IF EXISTS `org_default_pass_value`;
  411. CREATE TABLE `org_default_pass_value` (
  412. `id` int(11) NOT NULL auto_increment,
  413. `name` varchar(255) default NULL,
  414. `nday` int(11) default NULL,
  415. `nride` int(11) default NULL,
  416. `description` varchar(255) default NULL,
  417. `start` datetime default NULL,
  418. `end` datetime default NULL,
  419. PRIMARY KEY (`id`)
  420. ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=latin1;
  421. DROP TABLE IF EXISTS `org_default_card_value`;
  422. CREATE TABLE `org_default_card_value` (
  423. `id` int(11) NOT NULL auto_increment,
  424. `group_id` int(11) default NULL,
  425. `mag_track` int(11) default NULL,
  426. `rf_length` int(11) default NULL,
  427. `rf_site` int(11) default NULL,
  428. PRIMARY KEY (`id`)
  429. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  430. -- WEB API tables
  431. DROP TABLE IF EXISTS `authorization_log`;
  432. CREATE TABLE `authorization_log` (
  433. `authorization_log_id` int(11) NOT NULL auto_increment,
  434. `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  435. `authorization_type` varchar(255) default NULL,
  436. `authorization_code` varchar(255) default NULL,
  437. `user_id` int(11) default NULL,
  438. `logical_card_id` int(11) default NULL,
  439. `user_pass_id` int(11) default NULL,
  440. `comment` varchar(255) default NULL,
  441. PRIMARY KEY (`authorization_log_id`)
  442. ) ENGINE=InnoDB AUTO_INCREMENT=1981 DEFAULT CHARSET=latin1;
  443. DROP TABLE IF EXISTS `org_card_order_queue`;
  444. CREATE TABLE `org_card_order_queue` (
  445. `org_card_order_queue_id` int(11) NOT NULL auto_increment,
  446. `userid` int(11) default NULL,
  447. `logical_card_id` int(11) default NULL,
  448. `created` timestamp NOT NULL default CURRENT_TIMESTAMP,
  449. `processed` timestamp NULL default NULL,
  450. `comment` varchar(255) default NULL,
  451. `pending` tinyint(1) default NULL,
  452. PRIMARY KEY (`org_card_order_queue_id`)
  453. ) ENGINE=InnoDB AUTO_INCREMENT=54 DEFAULT CHARSET=latin1;
  454. DROP TABLE IF EXISTS `org_api_session`;
  455. CREATE TABLE `org_api_session` (
  456. id bigint auto_increment primary key,
  457. `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  458. `ip` varchar(15) default NULL,
  459. `active` tinyint(4) default NULL,
  460. `server_token` varchar(255) default NULL,
  461. `user_token` varchar(255) default NULL
  462. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  463. DROP TABLE IF EXISTS `org_api_log`;
  464. CREATE TABLE `org_api_log` (
  465. `log_id` int(11) NOT NULL auto_increment,
  466. `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  467. `log` blob,
  468. PRIMARY KEY (`log_id`)
  469. ) ENGINE=InnoDB AUTO_INCREMENT=500 DEFAULT CHARSET=latin1;
  470. DROP TABLE IF EXISTS `org_api_password_reset`;
  471. CREATE TABLE `org_api_password_reset` (
  472. id bigint auto_increment primary key,
  473. `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  474. `token` varchar(255) default NULL,
  475. `userid` int(11) default NULL,
  476. `email` varchar(255) default NULL,
  477. `active` tinyint(1) default NULL
  478. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  479. DROP TABLE IF EXISTS `org_api_register_email`;
  480. CREATE TABLE `org_api_register_email` (
  481. id bigint auto_increment primary key,
  482. `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  483. `token` varchar(255) default NULL,
  484. `active` tinyint(1) default NULL,
  485. `email` varchar(255) default NULL
  486. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  487. -- drivers, stops and paddles + misc
  488. DROP TABLE IF EXISTS `drivers`;
  489. SET @saved_cs_client = @@character_set_client;
  490. SET character_set_client = utf8;
  491. CREATE TABLE `drivers` (
  492. `id` int(11) NOT NULL default '0',
  493. `pin` varchar(8) NOT NULL default '',
  494. `name` varchar(32) default NULL,
  495. UNIQUE KEY `id` (`id`)
  496. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  497. SET character_set_client = @saved_cs_client;
  498. --
  499. -- Table structure for table `stops`
  500. --
  501. DROP TABLE IF EXISTS `stops`;
  502. SET @saved_cs_client = @@character_set_client;
  503. SET character_set_client = utf8;
  504. CREATE TABLE `stops` (
  505. `id` int(11) NOT NULL default '0',
  506. `latitude` double NOT NULL default '0',
  507. `longitude` double NOT NULL default '0',
  508. `name` varchar(32) default NULL,
  509. PRIMARY KEY (`id`),
  510. UNIQUE KEY `id` (`id`)
  511. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  512. SET character_set_client = @saved_cs_client;
  513. --
  514. -- Table structure for table `paddles`
  515. --
  516. DROP TABLE IF EXISTS `paddles`;
  517. SET @saved_cs_client = @@character_set_client;
  518. SET character_set_client = utf8;
  519. CREATE TABLE `paddles` (
  520. -- `id` int(11) NOT NULL default '0',
  521. `id` bigint auto_increment primary key,
  522. `slot` int(11) NOT NULL default '0',
  523. `arrival` time default NULL,
  524. `route` int(11) default NULL,
  525. `trip` int(11) default NULL,
  526. `stage` int(11) default NULL,
  527. `stop` int(11) default NULL,
  528. `stopid` int(11) NOT NULL default '0',
  529. KEY `ididx` (`id`)
  530. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  531. SET character_set_client = @saved_cs_client;
  532. --
  533. -- Table structure for table `old_stops`
  534. --
  535. DROP TABLE IF EXISTS `old_stops`;
  536. SET @saved_cs_client = @@character_set_client;
  537. SET character_set_client = utf8;
  538. CREATE TABLE `old_stops` (
  539. `verstring` text,
  540. -- `id` int(11) NOT NULL default '0',
  541. `id` bigint auto_increment primary key,
  542. `latitude` double NOT NULL default '0',
  543. `longitude` double NOT NULL default '0',
  544. `name` varchar(32) default NULL
  545. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  546. SET character_set_client = @saved_cs_client;
  547. --
  548. -- Table structure for table `old_paddles`
  549. --
  550. DROP TABLE IF EXISTS `old_paddles`;
  551. SET @saved_cs_client = @@character_set_client;
  552. SET character_set_client = utf8;
  553. CREATE TABLE `old_paddles` (
  554. `verstring` text,
  555. -- `id` int(11) NOT NULL default '0',
  556. `id` bigint auto_increment primary key,
  557. `slot` int(11) NOT NULL default '0',
  558. `arrival` time default NULL,
  559. `route` int(11) default NULL,
  560. `trip` int(11) default NULL,
  561. `stage` int(11) default NULL,
  562. `stop` int(11) default NULL,
  563. `stopid` int(11) NOT NULL default '0'
  564. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  565. SET character_set_client = @saved_cs_client;
  566. --
  567. -- Table structure for table `live_stops`
  568. --
  569. DROP TABLE IF EXISTS `live_stops`;
  570. SET @saved_cs_client = @@character_set_client;
  571. SET character_set_client = utf8;
  572. CREATE TABLE `live_stops` (
  573. `id` int(11) NOT NULL default '0',
  574. `latitude` double NOT NULL default '0',
  575. `longitude` double NOT NULL default '0',
  576. `name` varchar(32) default NULL,
  577. PRIMARY KEY (`id`),
  578. UNIQUE KEY `id` (`id`)
  579. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  580. SET character_set_client = @saved_cs_client;
  581. --
  582. -- Table structure for table `live_paddles`
  583. --
  584. DROP TABLE IF EXISTS `live_paddles`;
  585. SET @saved_cs_client = @@character_set_client;
  586. SET character_set_client = utf8;
  587. CREATE TABLE `live_paddles` (
  588. -- `id` int(11) NOT NULL default '0',
  589. `id` bigint auto_increment primary key,
  590. `slot` int(11) NOT NULL default '0',
  591. `arrival` time default NULL,
  592. `route` int(11) default NULL,
  593. `trip` int(11) default NULL,
  594. `stage` int(11) default NULL,
  595. `stop` int(11) default NULL,
  596. `stopid` int(11) NOT NULL default '0',
  597. KEY `ididx` (`id`)
  598. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  599. SET character_set_client = @saved_cs_client;
  600. DROP TABLE IF EXISTS `price_point`;
  601. SET @saved_cs_client = @@character_set_client;
  602. SET character_set_client = utf8;
  603. CREATE TABLE `price_point` (
  604. -- `id` int(11) NOT NULL auto_increment,
  605. `id` bigint auto_increment primary key,
  606. `price` double default NULL,
  607. `param` int(11) default NULL,
  608. `name` varchar(255) default NULL,
  609. `rule` varchar(32) default NULL,
  610. `db_rule` varchar(32) default NULL,
  611. `group_id` int(11) default NULL,
  612. `type` varchar(255) default NULL,
  613. `description` varchar(1024) default NULL,
  614. `num_opt` int default 0,
  615. `price_option0` varchar(255) default null,
  616. `price_option1` varchar(255) default null,
  617. `price_option2` varchar(255) default null,
  618. `price_option3` varchar(255) default null,
  619. `active` tinyint(1) default 0,
  620. UNIQUE KEY `id` (`id`)
  621. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
  622. SET character_set_client = @saved_cs_client;
  623. drop table if exists billing_log_annotation;
  624. SET @saved_cs_client = @@character_set_client;
  625. SET character_set_client = utf8;
  626. create table if not exists billing_log_annotation (
  627. id bigint unique not null,
  628. seq_num bigint not null,
  629. rule varchar(24),
  630. ruleparam varchar(24),
  631. reason varchar(64),
  632. credential varchar(32),
  633. note varchar(512),
  634. timestamp timestamp default current_timestamp,
  635. primary key (id),
  636. key billing_log_annotation_seq_num_key (seq_num)
  637. ) ENGINE=InnoDB default CHARSET=utf8;
  638. SET character_set_client = @saved_cs_client;