1 | -- Baseline SQL to add necessary fields for IPDB 2.7 -> IPDB 3.0
|
---|
2 | -- Note some data changes must be made via script.
|
---|
3 |
|
---|
4 | -- WARNING: This SQL is backwards-compatible, but once db-update.pl
|
---|
5 | -- has run, IPDB v2.7 and older will NOT be able to properly manipulate
|
---|
6 | -- the data!
|
---|
7 |
|
---|
8 | -- Master and routed blocks now live in the allocations table.
|
---|
9 |
|
---|
10 | ALTER TABLE allocations ADD COLUMN vrf text NOT NULL DEFAULT '';
|
---|
11 | ALTER TABLE allocations ADD COLUMN rdns text NOT NULL DEFAULT '';
|
---|
12 | ALTER TABLE allocations ADD COLUMN parent_id integer NOT NULL DEFAULT 0;
|
---|
13 | ALTER TABLE allocations ADD COLUMN master_id integer NOT NULL DEFAULT 0;
|
---|
14 | ALTER TABLE allocations DROP CONSTRAINT allocations_pkey;
|
---|
15 | ALTER TABLE allocations ADD COLUMN id serial PRIMARY KEY;
|
---|
16 |
|
---|
17 | ALTER TABLE freeblocks ADD COLUMN vrf text NOT NULL DEFAULT '';
|
---|
18 | ALTER TABLE freeblocks ADD COLUMN parent_id integer NOT NULL DEFAULT 0;
|
---|
19 | ALTER TABLE freeblocks ADD COLUMN master_id integer NOT NULL DEFAULT 0;
|
---|
20 | ALTER TABLE freeblocks DROP CONSTRAINT freeblocks_pkey;
|
---|
21 | ALTER TABLE freeblocks ADD CONSTRAINT freeblocks_pkey PRIMARY KEY ("cidr","parent_id");
|
---|
22 | ALTER TABLE freeblocks ADD COLUMN id serial;
|
---|
23 |
|
---|
24 | ALTER TABLE poolips ADD COLUMN vrf text NOT NULL DEFAULT '';
|
---|
25 | ALTER TABLE poolips ADD COLUMN rdns text NOT NULL DEFAULT '';
|
---|
26 | ALTER TABLE poolips ADD COLUMN parent_id integer NOT NULL DEFAULT 0;
|
---|
27 | ALTER TABLE poolips ADD COLUMN master_id integer NOT NULL DEFAULT 0;
|
---|
28 | ALTER TABLE poolips DROP CONSTRAINT poolips_pkey;
|
---|
29 | ALTER TABLE poolips ADD COLUMN id serial;
|
---|
30 | ALTER TABLE poolips ADD CONSTRAINT poolips_pkey PRIMARY KEY ("ip", "parent_id");
|
---|
31 |
|
---|
32 | -- probably need some more indexes
|
---|
33 |
|
---|
34 | -- Relabel a few types to match the new structure
|
---|
35 | UPDATE alloctypes SET listname='Routing aggregation', dispname='Routing aggregation' WHERE type='rm';
|
---|
36 |
|
---|
37 | -- Not critical but the previous definitions were too restrictive (eg, can't
|
---|
38 | -- handle MD5, or SHA password hashes). Plans for ACLs also require larger fields.
|
---|
39 | ALTER TABLE users ALTER COLUMN username TYPE varchar(256);
|
---|
40 | ALTER TABLE users ALTER COLUMN password TYPE varchar(256);
|
---|
41 | ALTER TABLE users ALTER COLUMN acl TYPE varchar(256);
|
---|