2 --- Draft of Netvim SQL schema just for rlm_sqlhpwippool
5 CREATE DATABASE `netvim` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
8 CREATE TABLE `gid_ip` (
9 `gid` int(10) unsigned NOT NULL default '0' COMMENT 'Host group ID',
10 `ip_start` bigint(20) unsigned NOT NULL default '0' COMMENT 'Beginning of IP range',
11 `ip_stop` bigint(20) unsigned NOT NULL default '0' COMMENT 'End of IP range',
13 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Netvim: host groups to IP ranges relations';
15 CREATE TABLE `host_groups` (
16 `gid` int(10) unsigned NOT NULL default '0' COMMENT 'Host group ID',
17 `parent` int(10) unsigned default NULL COMMENT 'ID of parent group',
18 `name` varchar(128) NOT NULL default '' COMMENT 'Host group UNIX name',
20 UNIQUE KEY `group_name` (`name`)
21 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Netvim: host groups';
24 `id` int(10) unsigned NOT NULL auto_increment COMMENT 'The One True ID',
25 `enabled` tinyint(1) NOT NULL default '1' COMMENT 'If 0, ignore the object',
26 `modified` datetime NOT NULL default '0000-00-00 00:00:00' COMMENT 'Time when any of object properties were modified',
27 `created` datetime NOT NULL default '0000-00-00 00:00:00' COMMENT 'Object creation date',
28 `type` varchar(64) default NULL COMMENT 'Link to an ef action',
30 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Entity: the source of ID numbers';
32 CREATE TABLE `ip_pools` (
33 `pid` int(10) unsigned NOT NULL default '0' COMMENT 'Named pool ID',
34 `gid` int(10) unsigned NOT NULL default '0' COMMENT 'Host group ID',
35 `pnid` int(10) unsigned NOT NULL default '0' COMMENT 'Pool name ID',
36 `ip_start` bigint(20) unsigned NOT NULL default '0' COMMENT 'Beginning of IP range',
37 `ip_stop` bigint(20) unsigned NOT NULL default '0' COMMENT 'End of IP range',
38 `prio` int(11) NOT NULL default '0' COMMENT 'Pool priority',
39 `weight` int(10) unsigned NOT NULL default '1' COMMENT 'Pool weight',
40 `total` bigint(20) unsigned NOT NULL default '0' COMMENT 'Total number of IPs in pool',
41 `free` bigint(20) unsigned NOT NULL default '0' COMMENT 'Number of free IPs in pool',
43 KEY `gid` (`gid`,`pnid`)
44 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Netvim: named IP pools assigned to given host group';
47 `ip` bigint(20) unsigned NOT NULL default '0' COMMENT 'IP address',
48 `pid` int(10) unsigned NOT NULL default '0' COMMENT 'Named pool ID',
49 `rsv_since` datetime NOT NULL default '0000-00-00 00:00:00' COMMENT 'Time when IP was reserved',
50 `rsv_by` varchar(64) default NULL COMMENT 'Who/what reserved IP',
51 `rsv_until` datetime NOT NULL default '0000-00-00 00:00:00' COMMENT 'Reservation timeout',
54 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Netvim: states of single IP addresses';
56 CREATE TABLE `pool_names` (
57 `pnid` int(10) unsigned NOT NULL default '0' COMMENT 'Named pool ID',
58 `name` varchar(128) NOT NULL default '' COMMENT 'Pool UNIX name',
60 UNIQUE KEY `pool_name` (`name`)
61 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Netvim: definitions of pool names';