add svc_forward.src
[freeside.git] / httemplate / docs / upgrade10.html
1 <pre>
2 this is incomplete
3
4 install DBIx::DBSchema 0.22
5
6 install NetAddr::IP, Chart::Base, IPC::ShareLite and Locale::SubCountry
7
8 CREATE TABLE cust_bill_pkg_detail (
9   detailnum serial,
10   pkgnum int NOT NULL,
11   invnum int NOT NULL,
12   detail varchar(80),
13   PRIMARY KEY (detailnum)
14 );
15 CREATE INDEX cust_bill_pkg_detail1 ON cust_bill_pkg_detail ( pkgnum, invnum );
16
17 CREATE TABLE part_virtual_field (
18   vfieldpart int NOT NULL,
19   dbtable varchar(32) NOT NULL,
20   name varchar(32) NOT NULL,
21   check_block text,
22   list_source text,
23   length integer,
24   label varchar(80),
25   PRIMARY KEY (vfieldpart)
26 );
27
28 CREATE TABLE virtual_field (
29   recnum integer NOT NULL,
30   vfieldpart integer NOT NULL,
31   value varchar(128) NOT NULL,
32   PRIMARY KEY (vfieldpart, recnum)
33 );
34
35 CREATE TABLE router (
36   routernum serial,
37   routername varchar(80),
38   svcnum int,
39   PRIMARY KEY (routernum)
40 );
41
42 CREATE TABLE part_svc_router (
43   svcpart int NOT NULL,
44   routernum int NOT NULL
45 );
46
47 CREATE TABLE addr_block (
48   blocknum serial,
49   routernum int NOT NULL,
50   ip_gateway varchar(15) NOT NULL,
51   ip_netmask int NOT NULL,
52   PRIMARY KEY (blocknum)
53 );
54 CREATE UNIQUE INDEX addr_block1 ON addr_block ( blocknum, routernum );
55
56 CREATE TABLE svc_broadband (
57   svcnum int NOT NULL,
58   blocknum int NOT NULL,
59   speed_up int NOT NULL,
60   speed_down int NOT NULL,
61   ip_addr varchar(15),
62   PRIMARY KEY (svcnum)
63 );
64
65 CREATE TABLE acct_snarf (
66   snarfnum serial,
67   svcnum int NOT NULL,
68   machine varchar(255) NULL,
69   protocol varchar(80) NULL,
70   username varchar(80) NULL,
71   _password varchar(80) NULL,
72   PRIMARY KEY (snarfnum)
73 );
74 CREATE INDEX acct_snarf1 ON acct_snarf ( svcnum );
75
76 CREATE TABLE svc_external (
77   svcnum int NOT NULL,
78   id int NOT NULL,
79   title varchar(80),
80   PRIMARY KEY (svcnum)
81 );
82
83 CREATE TABLE part_pkg_temp (
84     pkgpart serial NOT NULL,
85     pkg varchar(80) NOT NULL,
86     "comment" varchar(80) NOT NULL,
87     setup text NULL,
88     freq varchar(80) NOT NULL,
89     recur text NULL,
90     setuptax char(1) NULL,
91     recurtax char(1) NULL,
92     plan varchar(80) NULL,
93     plandata text NULL,
94     disabled char(1) NULL,
95     taxclass varchar(80) NULL,
96     PRIMARY KEY (pkgpart),
97 );
98 INSERT INTO part_pkg_temp SELECT * from part_pkg;
99 DROP TABLE part_pkg;
100 ALTER TABLE part_pkg_temp RENAME TO part_pkg;
101 ALTER TABLE part_pkg DROP CONSTRAINT part_pkg_temp_pkey;
102 ALTER TABLE part_pkg ADD PRIMARY KEY (pkgpart);
103 CREATE INDEX part_pkg1 ON part_pkg(disabled);
104 select setval('public.part_pkg_temp_pkgpart_seq', ( select max(pkgpart) from part_pkg) ); #?
105
106 CREATE TABLE h_part_pkg_temp (
107     historynum serial NOT NULL,
108     history_date int,
109     history_user varchar(80) NOT NULL,
110     history_action varchar(80) NOT NULL,
111     pkgpart int NOT NULL,
112     pkg varchar(80) NOT NULL,
113     "comment" varchar(80) NOT NULL,
114     setup text NULL,
115     freq varchar(80) NOT NULL,
116     recur text NULL,
117     setuptax char(1) NULL,
118     recurtax char(1) NULL,
119     plan varchar(80) NULL,
120     plandata text NULL,
121     disabled char(1) NULL,
122     taxclass varchar(80) NULL,
123     PRIMARY KEY (historynum)
124 );
125 INSERT INTO h_part_pkg_temp SELECT * from h_part_pkg;
126 DROP TABLE h_part_pkg;
127 ALTER TABLE h_part_pkg_temp RENAME TO h_part_pkg;
128 ALTER TABLE h_part_pkg DROP CONSTRAINT h_part_pkg_temp_pkey;
129 ALTER TABLE h_part_pkg ADD PRIMARY KEY (historynum);
130 CREATE INDEX h_part_pkg1 ON h_part_pkg(disabled);
131 select setval('public.h_part_pkg_temp_historynum_seq', ( select max(historynum) from h_part_pkg) );
132
133
134 DROP INDEX cust_bill_pkg1;
135
136 ALTER TABLE cust_bill_pkg ADD itemdesc varchar(80) NULL;
137 ALTER TABLE h_cust_bill_pkg ADD itemdesc varchar(80) NULL;
138 ALTER TABLE cust_main_county ADD taxname varchar(80) NULL;
139 ALTER TABLE h_cust_main_county ADD taxname varchar(80) NULL;
140 ALTER TABLE cust_main_county ADD setuptax char(1) NULL;
141 ALTER TABLE h_cust_main_county ADD setuptax char(1) NULL;
142 ALTER TABLE cust_main_county ADD recurtax char(1) NULL;
143 ALTER TABLE h_cust_main_county ADD recurtax char(1) NULL;
144 ALTER TABLE cust_pkg ADD last_bill int NULL;
145 ALTER TABLE h_cust_pkg ADD last_bill int NULL;
146 ALTER TABLE agent ADD disabled char(1) NULL;
147 ALTER TABLE h_agent ADD disabled char(1) NULL;
148 ALTER TABLE agent ADD username varchar(80) NULL;
149 ALTER TABLE h_agent ADD username varchar(80) NULL;
150 ALTER TABLE agent ADD _password varchar(80) NULL;
151 ALTER TABLE h_agent ADD _password varchar(80) NULL;
152 ALTER TABLE cust_main ADD paycvv varchar(4) NULL;
153 ALTER TABLE h_cust_main ADD paycvv varchar(4) NULL;
154 ALTER TABLE part_referral ADD disabled char(1) NULL;
155 ALTER TABLE h_part_referral ADD disabled char(1) NULL;
156 CREATE INDEX part_referral1 ON part_referral ( disabled );
157 ALTER TABLE pkg_svc ADD primary_svc char(1) NULL;
158 ALTER TABLE h_pkg_svc ADD primary_svc char(1) NULL;
159 ALTER TABLE svc_forward ADD src varchar(255) NULL;
160 ALTER TABLE h_svc_forward ADD src varchar(255) NULL;
161
162 dump database, edit:
163 - cust_main: increase otaker from 8 to 32
164 - cust_main: change ss from char(11) to varchar(11)
165 - cust_credit: increase otaker from 8 to 32
166 - cust_pkg: increase otaker from 8 to 32
167 - cust_refund: increase otaker from 8 to 32
168 - domain_record: increase reczone from 80 to 255
169 - domain_record: change rectype from char to varchar
170 - domain_record: increase recdata from 80 to 255
171 then reload
172
173 optionally:
174
175   CREATE INDEX cust_main6 ON cust_main ( daytime );
176   CREATE INDEX cust_main7 ON cust_main ( night );
177   CREATE INDEX cust_main8 ON cust_main ( fax );
178   CREATE INDEX cust_main9 ON cust_main ( ship_daytime );
179   CREATE INDEX cust_main10 ON cust_main ( ship_night );
180   CREATE INDEX cust_main11 ON cust_main ( ship_fax );
181   CREATE INDEX agent2 ON agent ( disabled );
182   CREATE INDEX part_bill_event2 ON part_bill_event ( disabled );
183
184   serial columns
185
186 mandatory again:
187
188 dbdef-create username
189 create-history-tables username cust_bill_pkg_detail router part_svc_router addr_block svc_broadband acct_snarf svc_external
190 dbdef-create username
191
192 apache - fix <Files> sections to include .html also
193
194 </pre>