schema.sql 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  1. --
  2. -- `#prefix#ModuleSettings`
  3. --
  4. CREATE TABLE IF NOT EXISTS `#prefix#ModuleSettings`
  5. (
  6. `setting` VARCHAR (64) NOT NULL UNIQUE,
  7. `value` TEXT NOT NULL,
  8. PRIMARY KEY ( `setting` )
  9. ) engine=innodb DEFAULT charset=#charset# DEFAULT COLLATE #collation#;
  10. --
  11. -- `mg_proxmox_addon_ip`
  12. --
  13. CREATE TABLE IF NOT EXISTS `mg_proxmox_addon_ip`
  14. (
  15. `id` INT (11) NOT NULL auto_increment,
  16. `ip` VARCHAR (200) NOT NULL,
  17. `type` ENUM ('IPv4', 'IPv6') DEFAULT 'IPv4',
  18. `mac_address` VARCHAR (200) DEFAULT NULL,
  19. `subnet_mask` VARCHAR (200),
  20. `gateway` VARCHAR (200),
  21. `cidr` INT (6),
  22. `sid` INT (11),
  23. `visualization` ENUM ('Auto', 'KVM', 'LXC') DEFAULT 'Auto',
  24. `last_check` DATETIME DEFAULT NULL,
  25. `private` TINYINT (1) DEFAULT 0,
  26. `hosting_id` INT (11) DEFAULT 0,
  27. `trunks` INT (11) DEFAULT NULL,
  28. `tag` INT (11) DEFAULT NULL,
  29. `node` VARCHAR (200) DEFAULT '0',
  30. `bridge` VARCHAR (20) DEFAULT '',
  31. PRIMARY KEY ( `id` ),
  32. UNIQUE ( `ip` )
  33. ) engine=innodb DEFAULT charset=#charset# DEFAULT COLLATE #collation#;
  34. --
  35. -- `mg_proxmox_vmranges`
  36. --
  37. CREATE TABLE IF NOT EXISTS `mg_proxmox_vmranges`
  38. (
  39. `server_id` INT (11) NOT NULL,
  40. `vmid_from` INT (11),
  41. `vmid_to` INT (11),
  42. PRIMARY KEY ( `server_id` )
  43. ) engine=innodb DEFAULT charset=#charset# DEFAULT COLLATE #collation#;
  44. --
  45. -- Table structure for table `mg_proxmox_addon_tasks`
  46. --
  47. CREATE TABLE IF NOT EXISTS `mg_proxmox_addon_tasks`
  48. (
  49. `id` INT (11) NOT NULL auto_increment,
  50. `hosting_id` INT (11) NOT NULL,
  51. `upid` VARCHAR (128) NOT NULL,
  52. `name` VARCHAR (128) NOT NULL,
  53. `description` TEXT,
  54. `node` VARCHAR (128) NOT NULL,
  55. `vmid` INT (11) NOT NULL,
  56. `status` INT (11) NOT NULL,
  57. `start_time` DATETIME DEFAULT NULL,
  58. PRIMARY KEY ( `id` )
  59. ) engine=innodb DEFAULT charset=#charset# DEFAULT COLLATE #collation#;
  60. --
  61. -- Table structure for table `mg_proxmox_addon_recovery_vm_list`
  62. --
  63. CREATE TABLE IF NOT EXISTS `mg_proxmox_addon_recovery_vm_list` (
  64. `id` INT (11) NOT NULL auto_increment,
  65. `client_id` int(11) NOT NULL,
  66. `service_id` int(11) NOT NULL,
  67. `server_id` int(11) NOT NULL,
  68. `vserver_id` int(11) NOT NULL,
  69. `node` varchar(128) NOT NULL,
  70. `vmid` int(11) NOT NULL,
  71. `virtualization` varchar(128) NOT NULL,
  72. `config` text,
  73. `status` text,
  74. `dns` text,
  75. `last_update` datetime DEFAULT NULL,
  76. PRIMARY KEY ( `id` )
  77. ) ENGINE=InnoDB DEFAULT charset=#charset# DEFAULT COLLATE #collation#;
  78. --
  79. -- `#prefix#NodeSetting`
  80. --
  81. CREATE TABLE IF NOT EXISTS `#prefix#NodeSetting`
  82. (
  83. `id` INT (11) NOT NULL auto_increment,
  84. `server_id` INT (10) UNSIGNED NOT NULL,
  85. `node` VARCHAR (64) NOT NULL,
  86. `setting` VARCHAR (64) NOT NULL,
  87. `value` TEXT NOT NULL,
  88. PRIMARY KEY ( `id` )
  89. ) engine=innodb DEFAULT charset=#charset# DEFAULT COLLATE #collation#;
  90. CREATE TABLE IF NOT EXISTS `#prefix#ProductConfiguration` (
  91. `product_id` int(11),
  92. `setting` varchar (255),
  93. `value` text,
  94. PRIMARY KEY (`setting`,`product_id`)
  95. ) ENGINE=InnoDB DEFAULT CHARSET=#charset# DEFAULT COLLATE #collation#;
  96. --
  97. -- `#prefix#VmIpAddress`
  98. --
  99. CREATE TABLE IF NOT EXISTS `#prefix#VmIpAddress` (
  100. `id` int(11) NOT NULL AUTO_INCREMENT,
  101. `hosting_id` int(11),
  102. `server_id` INT (11),
  103. `vm_id` INT (11) DEFAULT null,
  104. `ip` varchar(200) NOT NULL,
  105. `mac_address` varchar(200) DEFAULT NULL,
  106. `subnet_mask` varchar(200),
  107. `gateway` varchar(200),
  108. `cidr` INT (6),
  109. `trunks` INT (11) DEFAULT NULL,
  110. `tag` INT (11) DEFAULT NULL,
  111. `net` varchar(5) DEFAULT NULL,
  112. PRIMARY KEY (`id`),
  113. UNIQUE (`ip`)
  114. ) ENGINE=InnoDB DEFAULT CHARSET=#charset# DEFAULT COLLATE #collation#;
  115. --
  116. -- `#prefix#User`
  117. --
  118. CREATE TABLE IF NOT EXISTS `#prefix#User` (
  119. `id` int(12) NOT NULL AUTO_INCREMENT,
  120. `user_id` int(12),
  121. `hosting_id` int(12) NOT NULL,
  122. `username` varchar(360) NOT NULL,
  123. `password` varchar(360) NOT NULL,
  124. `realm` varchar(100) NOT NULL,
  125. PRIMARY KEY (`id`)
  126. ) ENGINE=InnoDB DEFAULT CHARSET=#charset# DEFAULT COLLATE #collation#;
  127. --
  128. -- `#prefix#KeyPair`
  129. --
  130. CREATE TABLE IF NOT EXISTS `#prefix#KeyPair` (
  131. `id` int(11) NOT NULL AUTO_INCREMENT,
  132. `hosting_id` INT(11) NOT NULL,
  133. `vm_id` INT (11) DEFAULT null,
  134. `public` text NOT NULL,
  135. `private` text NULL,
  136. PRIMARY KEY (`id`),
  137. UNIQUE (`hosting_id`)
  138. ) ENGINE=InnoDB DEFAULT CHARSET=#charset# DEFAULT COLLATE #collation#;
  139. --
  140. -- `#prefix#Job`
  141. --
  142. CREATE TABLE IF NOT EXISTS `#prefix#Job` (
  143. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  144. `retry_after` datetime NOT NULL,
  145. `retry_count` int(10) unsigned NOT NULL,
  146. `job` varchar(255) NOT NULL,
  147. `data` text,
  148. `parent_id` int(10) unsigned DEFAULT NULL,
  149. `rel_id` int(10) unsigned DEFAULT NULL,
  150. `rel_type` varchar(32) DEFAULT NULL,
  151. `custom_id` int(10) unsigned DEFAULT NULL,
  152. `status` varchar(32) NOT NULL,
  153. `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  154. `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  155. PRIMARY KEY (`id`),
  156. KEY(`parent_id`),
  157. KEY(`rel_type`, `rel_id`, `custom_id`),
  158. KEY(`status`, `created_at`)
  159. ) ENGINE=InnoDB DEFAULT CHARSET=#charset# DEFAULT COLLATE #collation#;
  160. --
  161. -- `#prefix#JobLog`
  162. --
  163. CREATE TABLE IF NOT EXISTS `#prefix#JobLog` (
  164. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  165. `job_id` int(10) unsigned NOT NULL,
  166. `type` varchar(32) NOT NULL,
  167. `message` varchar(512) NOT NULL,
  168. `additional` text,
  169. `created_at` datetime NOT NULL,
  170. `updated_at` datetime NOT NULL,
  171. PRIMARY KEY (`id`),
  172. KEY `job_id` (`job_id`),
  173. KEY `type` (`type`)
  174. ) ENGINE=InnoDB DEFAULT CHARSET=#charset# DEFAULT COLLATE #collation#;
  175. --
  176. -- `#prefix#SnapshootJob`
  177. --
  178. CREATE TABLE IF NOT EXISTS `#prefix#SnapshotJob` (
  179. `id` int(11) NOT NULL AUTO_INCREMENT,
  180. `hosting_id` int(11) NOT NULL,
  181. `vm_id` INT (11) DEFAULT NULL,
  182. `name` varchar(200) NOT NULL,
  183. `description` text DEFAULT NULL,
  184. `vmstate` TINYINT(1) DEFAULT NULL,
  185. `period` varchar(100) NOT NULL,
  186. `run_every` INT (2) DEFAULT NULL,
  187. `days` text DEFAULT NULL,
  188. `start_time` TIME DEFAULT NULL,
  189. `updated_at` timestamp DEFAULT CURRENT_TIMESTAMP,
  190. `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  191. PRIMARY KEY (`id`)
  192. ) ENGINE=InnoDB DEFAULT CHARSET=#charset# DEFAULT COLLATE #collation#;
  193. --
  194. -- `#prefix#VmModel`
  195. --
  196. CREATE TABLE IF NOT EXISTS `#prefix#Vm` (
  197. `id` int(11) NOT NULL AUTO_INCREMENT,
  198. `hosting_id` int(11) NOT NULL,
  199. `node` varchar(250) NOT NULL,
  200. `vmid` int(11) NOT NULL,
  201. `virtualization` varchar(128) NOT NULL,
  202. `name` varchar(250) NOT NULL ,
  203. `password` varchar(250) NOT NULL,
  204. `cores` INT (2) DEFAULT '0',
  205. `sockets` INT (2) DEFAULT '0',
  206. `vcpus` INT (2) DEFAULT '0',
  207. `cpulimit` FLOAT(5) DEFAULT '0',
  208. `cpuunits` INT (8) NULL,
  209. `memory` INT (10) NOT NULL,
  210. `swap` INT (10) DEFAULT '0',
  211. `disk` INT (10) NOT NULL,
  212. `disks` INT (12) DEFAULT '0',
  213. `netin` INT (12) DEFAULT '0',
  214. `netout` INT (12) DEFAULT '0',
  215. `template` INT (1) DEFAULT '0',
  216. `data` text,
  217. `updated_at` timestamp DEFAULT CURRENT_TIMESTAMP,
  218. `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  219. PRIMARY KEY (`id`,`hosting_id`,`vmid`)
  220. ) ENGINE=InnoDB DEFAULT CHARSET=#charset# DEFAULT COLLATE #collation#;
  221. --
  222. -- `#prefix#VirtualNetwork`
  223. --
  224. CREATE TABLE IF NOT EXISTS `#prefix#VirtualNetwork` (
  225. `id` int(11) NOT NULL AUTO_INCREMENT,
  226. `hosting_id` int(11) NOT NULL,
  227. `name` varchar(200) NOT NULL,
  228. `tag` int(11) NOT NULL,
  229. `pool` varchar(200) NOT NULL,
  230. `cidr` int(11) NOT NULL,
  231. `gateway` varchar(200) NOT NULL,
  232. `updated_at` timestamp DEFAULT CURRENT_TIMESTAMP,
  233. `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  234. PRIMARY KEY (`id`)
  235. ) ENGINE=InnoDB DEFAULT CHARSET=#charset# DEFAULT COLLATE #collation#;
  236. --
  237. -- `#prefix#VirtualInterface`
  238. --
  239. CREATE TABLE IF NOT EXISTS `#prefix#VirtualInterface` (
  240. `id` int(11) NOT NULL AUTO_INCREMENT,
  241. `hosting_id` int(11) NOT NULL,
  242. `vn_id` int(11) NOT NULL,
  243. `vm_id` int(11) NOT NULL,
  244. `ip` varchar(200) NOT NULL,
  245. `ip_long` int(11) NOT NULL,
  246. `net` varchar(10) NOT NULL,
  247. PRIMARY KEY (`id`)
  248. ) ENGINE=InnoDB DEFAULT CHARSET=#charset# DEFAULT COLLATE #collation#;
  249. --
  250. -- `#prefix#RrdDataCommand`
  251. --
  252. CREATE TABLE IF NOT EXISTS `#prefix#RrdData` (
  253. `id` int(11) NOT NULL AUTO_INCREMENT,
  254. `hosting_id` int(11) NOT NULL,
  255. `vm_id` int(11) NOT NULL,
  256. `diskread` float NOT NULL DEFAULT 0,
  257. `diskwrite` float NOT NULL DEFAULT 0,
  258. `cpu` float NOT NULL DEFAULT 0,
  259. `maxcpu` float NOT NULL DEFAULT 0,
  260. `mem` float NOT NULL DEFAULT 0,
  261. `maxmem` float NOT NULL DEFAULT 0,
  262. `netin` float NOT NULL DEFAULT 0,
  263. `netout` float NOT NULL DEFAULT 0,
  264. `time` timestamp NOT NULL,
  265. PRIMARY KEY (`id`, `hosting_id`, `vm_id`, `time`)
  266. ) ENGINE=InnoDB DEFAULT CHARSET=#charset# DEFAULT COLLATE #collation#;
  267. --
  268. -- `#prefix#CloudInitScript`
  269. --
  270. CREATE TABLE IF NOT EXISTS `#prefix#CloudInitScript` (
  271. `id` int(11) NOT NULL AUTO_INCREMENT,
  272. `name` varchar(200) NOT NULL,
  273. `script` text NOT NULL,
  274. `meta` text NULL,
  275. `network` text NULL,
  276. `updated_at` timestamp DEFAULT CURRENT_TIMESTAMP,
  277. `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  278. PRIMARY KEY (`id`)
  279. ) ENGINE=InnoDB DEFAULT CHARSET=#charset# DEFAULT COLLATE #collation#;
  280. --
  281. -- `#prefix#ServerConfiguration`
  282. --
  283. CREATE TABLE IF NOT EXISTS `#prefix#ServerConfiguration` (
  284. `server_id` int(11),
  285. `setting` varchar (255),
  286. `value` text,
  287. PRIMARY KEY (`setting`,`server_id`)
  288. ) ENGINE=InnoDB DEFAULT CHARSET=#charset# DEFAULT COLLATE #collation#;
  289. --
  290. -- `#prefix#ServerGroup`
  291. --
  292. CREATE TABLE IF NOT EXISTS `#prefix#ServerGroup` (
  293. `id` int(11) NOT NULL AUTO_INCREMENT,
  294. `name` varchar(200) NOT NULL,
  295. `server_id` INT (11),
  296. `updated_at` timestamp DEFAULT CURRENT_TIMESTAMP,
  297. `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  298. PRIMARY KEY (`id`)
  299. ) ENGINE=InnoDB DEFAULT CHARSET=#charset# DEFAULT COLLATE #collation#;
  300. --
  301. -- `#prefix#ServerGroupItem`
  302. --
  303. CREATE TABLE IF NOT EXISTS `#prefix#ServerGroupItem` (
  304. `id` int(11) NOT NULL AUTO_INCREMENT,
  305. `node` varchar(200) NOT NULL,
  306. `group_id` INT (11),
  307. PRIMARY KEY (`id`),
  308. FOREIGN KEY (group_id)
  309. REFERENCES #prefix#ServerGroup (id) ON DELETE CASCADE
  310. ) ENGINE=InnoDB DEFAULT CHARSET=#charset# DEFAULT COLLATE #collation#;
  311. --
  312. -- `#prefix#IpLog`
  313. --
  314. CREATE TABLE IF NOT EXISTS `#prefix#IpLog` (
  315. `id` int(11) NOT NULL AUTO_INCREMENT,
  316. `hosting_id` INT (11) DEFAULT 0,
  317. `message` VARCHAR(250) NOT NULL,
  318. `created_at` timestamp DEFAULT CURRENT_TIMESTAMP,
  319. PRIMARY KEY (`id`)
  320. ) ENGINE=InnoDB DEFAULT CHARSET=#charset# DEFAULT COLLATE #collation#;