4 install DBIx::DBSchema 0.23
6 - If using Apache::ASP, add PerlSetVar RequestBinaryRead Off to your Apache configuration and make sure you are using Apache::ASP minimum version 2.55.
8 install NetAddr::IP, Chart::Base, IPC::ShareLite and Locale::SubCountry
10 CREATE TABLE cust_bill_pkg_detail (
15 PRIMARY KEY (detailnum)
17 CREATE INDEX cust_bill_pkg_detail1 ON cust_bill_pkg_detail ( pkgnum, invnum );
19 CREATE TABLE part_virtual_field (
20 vfieldpart int NOT NULL,
21 dbtable varchar(32) NOT NULL,
22 name varchar(32) NOT NULL,
27 PRIMARY KEY (vfieldpart)
30 CREATE TABLE virtual_field (
31 recnum integer NOT NULL,
32 vfieldpart integer NOT NULL,
33 value varchar(128) NOT NULL,
34 PRIMARY KEY (vfieldpart, recnum)
39 routername varchar(80),
41 PRIMARY KEY (routernum)
44 CREATE TABLE part_svc_router (
46 routernum int NOT NULL
49 CREATE TABLE addr_block (
51 routernum int NOT NULL,
52 ip_gateway varchar(15) NOT NULL,
53 ip_netmask int NOT NULL,
54 PRIMARY KEY (blocknum)
56 CREATE UNIQUE INDEX addr_block1 ON addr_block ( blocknum, routernum );
58 CREATE TABLE svc_broadband (
60 blocknum int NOT NULL,
61 speed_up int NOT NULL,
62 speed_down int NOT NULL,
67 CREATE TABLE acct_snarf (
70 machine varchar(255) NULL,
71 protocol varchar(80) NULL,
72 username varchar(80) NULL,
73 _password varchar(80) NULL,
74 PRIMARY KEY (snarfnum)
76 CREATE INDEX acct_snarf1 ON acct_snarf ( svcnum );
78 CREATE TABLE svc_external (
85 CREATE TABLE part_pkg_temp (
86 pkgpart serial NOT NULL,
87 pkg varchar(80) NOT NULL,
88 "comment" varchar(80) NOT NULL,
90 freq varchar(80) NOT NULL,
92 setuptax char(1) NULL,
93 recurtax char(1) NULL,
94 plan varchar(80) NULL,
96 disabled char(1) NULL,
97 taxclass varchar(80) NULL,
98 PRIMARY KEY (pkgpart),
100 INSERT INTO part_pkg_temp SELECT * from part_pkg;
102 ALTER TABLE part_pkg_temp RENAME TO part_pkg;
103 ALTER TABLE part_pkg DROP CONSTRAINT part_pkg_temp_pkey;
104 ALTER TABLE part_pkg ADD PRIMARY KEY (pkgpart);
105 CREATE INDEX part_pkg1 ON part_pkg(disabled);
106 select setval('public.part_pkg_temp_pkgpart_seq', ( select max(pkgpart) from part_pkg) ); #?
108 CREATE TABLE h_part_pkg_temp (
109 historynum serial NOT NULL,
111 history_user varchar(80) NOT NULL,
112 history_action varchar(80) NOT NULL,
113 pkgpart int NOT NULL,
114 pkg varchar(80) NOT NULL,
115 "comment" varchar(80) NOT NULL,
117 freq varchar(80) NOT NULL,
119 setuptax char(1) NULL,
120 recurtax char(1) NULL,
121 plan varchar(80) NULL,
123 disabled char(1) NULL,
124 taxclass varchar(80) NULL,
125 PRIMARY KEY (historynum)
127 INSERT INTO h_part_pkg_temp SELECT * from h_part_pkg;
128 DROP TABLE h_part_pkg;
129 ALTER TABLE h_part_pkg_temp RENAME TO h_part_pkg;
130 ALTER TABLE h_part_pkg DROP CONSTRAINT h_part_pkg_temp_pkey;
131 ALTER TABLE h_part_pkg ADD PRIMARY KEY (historynum);
132 CREATE INDEX h_part_pkg1 ON h_part_pkg(disabled);
133 select setval('public.h_part_pkg_temp_historynum_seq', ( select max(historynum) from h_part_pkg) );
136 DROP INDEX cust_bill_pkg1;
138 ALTER TABLE cust_bill_pkg ADD itemdesc varchar(80) NULL;
139 ALTER TABLE h_cust_bill_pkg ADD itemdesc varchar(80) NULL;
140 ALTER TABLE cust_main_county ADD taxname varchar(80) NULL;
141 ALTER TABLE h_cust_main_county ADD taxname varchar(80) NULL;
142 ALTER TABLE cust_main_county ADD setuptax char(1) NULL;
143 ALTER TABLE h_cust_main_county ADD setuptax char(1) NULL;
144 ALTER TABLE cust_main_county ADD recurtax char(1) NULL;
145 ALTER TABLE h_cust_main_county ADD recurtax char(1) NULL;
146 ALTER TABLE cust_pkg ADD last_bill int NULL;
147 ALTER TABLE h_cust_pkg ADD last_bill int NULL;
148 ALTER TABLE agent ADD disabled char(1) NULL;
149 ALTER TABLE h_agent ADD disabled char(1) NULL;
150 ALTER TABLE agent ADD username varchar(80) NULL;
151 ALTER TABLE h_agent ADD username varchar(80) NULL;
152 ALTER TABLE agent ADD _password varchar(80) NULL;
153 ALTER TABLE h_agent ADD _password varchar(80) NULL;
154 ALTER TABLE cust_main ADD paycvv varchar(4) NULL;
155 ALTER TABLE h_cust_main ADD paycvv varchar(4) NULL;
156 ALTER TABLE part_referral ADD disabled char(1) NULL;
157 ALTER TABLE h_part_referral ADD disabled char(1) NULL;
158 CREATE INDEX part_referral1 ON part_referral ( disabled );
159 ALTER TABLE pkg_svc ADD primary_svc char(1) NULL;
160 ALTER TABLE h_pkg_svc ADD primary_svc char(1) NULL;
161 ALTER TABLE svc_forward ADD src varchar(255) NULL;
162 ALTER TABLE h_svc_forward ADD src varchar(255) NULL;
164 On recent Pg versions:
166 ALTER TABLE svc_forward ALTER COLUMN srcsvc DROP NOT NULL;
167 ALTER TABLE h_svc_forward ALTER COLUMN srcsvc DROP NOT NULL;
168 ALTER TABLE svc_forward ALTER COLUMN dstsvc DROP NOT NULL;
169 ALTER TABLE h_svc_forward ALTER COLUMN dstsvc DROP NOT NULL;
171 Or on Pg versions that don't support DROP NOT NULL (tested only on 7.2 so far):
172 UPDATE pg_attribute SET attnotnull = FALSE WHERE ( attname = 'srcsvc' OR attname = 'dstsvc' ) AND ( attrelid = ( SELECT oid FROM pg_class WHERE relname = 'svc_forward' ) OR attrelid = ( SELECT oid FROM pg_class WHERE relname = 'h_svc_forward' ) );
175 - cust_main: increase otaker from 8 to 32
176 - cust_main: change ss from char(11) to varchar(11)
177 - cust_credit: increase otaker from 8 to 32
178 - cust_pkg: increase otaker from 8 to 32
179 - cust_refund: increase otaker from 8 to 32
180 - domain_record: increase reczone from 80 to 255
181 - domain_record: change rectype from char to varchar
182 - domain_record: increase recdata from 80 to 255
187 CREATE INDEX cust_main6 ON cust_main ( daytime );
188 CREATE INDEX cust_main7 ON cust_main ( night );
189 CREATE INDEX cust_main8 ON cust_main ( fax );
190 CREATE INDEX cust_main9 ON cust_main ( ship_daytime );
191 CREATE INDEX cust_main10 ON cust_main ( ship_night );
192 CREATE INDEX cust_main11 ON cust_main ( ship_fax );
193 CREATE INDEX agent2 ON agent ( disabled );
194 CREATE INDEX part_bill_event2 ON part_bill_event ( disabled );
200 dbdef-create username
201 create-history-tables username cust_bill_pkg_detail router part_svc_router addr_block svc_broadband acct_snarf svc_external
202 dbdef-create username
204 apache - fix <Files> sections to include .html also