update pre6 -> 7 upgrade instructions too
[freeside.git] / README.1.5.7
1 NOTE: Version numbering has been simplified.  1.5.7 is the version after
2 1.5.0pre6.  It is still a development version - releases with odd numbered 
3 middle parts (NN in x.NN.x) are development versions, like Perl or Linux.
4
5 install DBIx::DBSchema 0.26
6
7 CREATE TABLE rate (
8     ratenum serial NOT NULL,
9     ratename varchar(80) NOT NULL,
10     PRIMARY KEY (ratenum)
11 );
12
13 CREATE TABLE rate_detail (
14     ratedetailnum serial NOT NULL,
15     ratenum int NOT NULL,
16     orig_regionnum int NULL,
17     dest_regionnum int NOT NULL,
18     min_included int NOT NULL,
19     min_charge decimal(10,2) NOT NULL,
20     sec_granularity int NOT NULL
21 );
22 CREATE UNIQUE INDEX rate_detail1 ON rate_detail ( ratenum, orig_regionnum, dest_regionnum );
23
24 CREATE TABLE rate_region (
25     regionnum serial NOT NULL,
26     regionname varchar(80) NOT NULL,
27     PRIMARY KEY (regionnum)
28 );
29
30 CREATE TABLE rate_prefix (
31     prefixnum serial NOT NULL,
32     regionnum int NOT NULL, 
33     countrycode varchar(3) NOT NULL,
34     npa varchar(6) NULL,
35     nxx varchar(3) NULL,
36     PRIMARY KEY (prefixnum)
37 );
38 CREATE INDEX rate_prefix1 ON rate_prefix ( countrycode );
39 CREATE INDEX rate_prefix2 ON rate_prefix ( regionnum );
40
41 CREATE TABLE reg_code (
42     codenum serial NOT NULL,
43     code varchar(80) NOT NULL,
44     agentnum int NOT NULL,
45     PRIMARY KEY (codenum)
46 );
47 CREATE UNIQUE INDEX reg_code1 ON reg_code ( agentnum, code );
48 CREATE INDEX reg_code2 ON reg_code ( agentnum );
49
50 CREATE TABLE reg_code_pkg (
51     codepkgnum serial,
52     codenum int NOT NULL,
53     pkgpart int NOT NULL,
54     PRIMARY KEY (codepkgnum)
55 );
56 CREATE UNIQUE INDEX reg_code_pkg1 ON reg_code_pkg ( codenum, pkgpart );
57 CREATE INDEX reg_code_pkg2 ON reg_code_pkg ( codenum );
58
59 CREATE TABLE clientapi_session (
60     sessionnum serial NOT NULL,
61     sessionid varchar(80) NOT NULL,
62     namespace varchar(80) NOT NULL,
63     PRIMARY KEY (sessionnum)
64 );
65 CREATE UNIQUE INDEX clientapi_session1 ON clientapi_session ( sessionid, namespace );
66
67 CREATE TABLE clientapi_session_field (
68     fieldnum serial NOT NULL,
69     sessionnum int NOT NULL,
70     fieldname varchar(80) NOT NULL,
71     fieldvalue text NULL,
72     PRIMARY KEY (fieldnum)
73 );
74 CREATE UNIQUE INDEX clientapi_session_field1 ON clientapi_session_field ( sessionnum, fieldname );
75
76 ALTER TABLE part_pkg ADD promo_code varchar(80) NULL;
77 ALTER TABLE h_part_pkg ADD promo_code varchar(80) NULL;
78 CREATE INDEX part_pkg2 ON part_pkg ( promo_code );
79 CREATE INDEX h_part_pkg2 ON h_part_pkg ( promo_code );
80
81 ALTER TABLE cust_main ALTER COLUMN zip DROP NOT NULL;
82 ALTER TABLE h_cust_main ALTER COLUMN zip DROP NOT NULL;
83
84 ALTER TABLE prepay_credit ADD agentnum integer NULL;
85 ALTER TABLE h_prepay_credit ADD agentnum integer NULL;
86
87 ALTER TABLE type_pkgs ADD typepkgnum int;
88 ALTER TABLE type_pkgs ALTER COLUMN typepkgnum SET DEFAULT nextval('public.type_pkgs_typepkgnum_seq'::text);
89 CREATE SEQUENCE type_pkgs_typepkgnum_seq;
90 UPDATE type_pkgs SET typepkgnum = nextval('public.type_pkgs_typepkgnum_seq'::tex
91 t) WHERE typepkgnum IS NULL;
92 ALTER TABLE type_pkgs ALTER typepkgnum SET NOT NULL;
93 ALTER TABLE type_pkgs ADD PRIMARY KEY (typepkgnum);
94 ALTER TABLE h_type_pkgs ADD typepkgnum int;
95
96 ALTER TABLE cust_bill_pkg ADD billpkgnum int;
97 ALTER TABLE cust_bill_pkg ALTER COLUMN billpkgnum SET DEFAULT nextval('public.cust_bill_pkg_billpkgnum_seq'::text);
98 CREATE SEQUENCE cust_bill_pkg_billpkgnum_seq;
99 UPDATE cust_bill_pkg SET billpkgnum = nextval('public.cust_bill_pkg_billpkgnum_s
100 eq'::text) WHERE billpkgnum IS NULL;
101 ALTER TABLE cust_bill_pkg ALTER billpkgnum SET NOT NULL;
102 ALTER TABLE cust_bill_pkg ADD PRIMARY KEY (billpkgnum);
103 ALTER TABLE h_cust_bill_pkg ADD billpkgnum int;
104
105 ALTER TABLE pkg_svc ADD pkgsvcnum int;
106 ALTER TABLE pkg_svc ALTER COLUMN pkgsvcnum SET DEFAULT nextval('public.pkg_svc_pkgsvcnum_seq'::text);
107 CREATE SEQUENCE pkg_svc_pkgsvcnum_seq;
108 UPDATE pkg_svc SET pkgsvcnum = nextval('public.pkg_svc_pkgsvcnum_seq'::text) WHE
109 RE pkgsvcnum IS NULL;
110 ALTER TABLE pkg_svc ALTER pkgsvcnum SET NOT NULL;
111 ALTER TABLE pkg_svc ADD PRIMARY KEY (pkgsvcnum);
112 ALTER TABLE h_pkg_svc ADD pkgsvcnum int;
113
114 ALTER TABLE part_svc_router ADD svcrouternum int;
115 ALTER TABLE part_svc_router ALTER COLUMN svcrouternum SET DEFAULT nextval('public.part_svc_router_svcrouternum_seq'::text);
116 CREATE SEQUENCE part_svc_router_svcrouternum_seq;
117 UPDATE part_svc_router SET svcrouternum = nextval('public.part_svc_router_svcrou
118 ternum_seq'::text) WHERE svcrouternum IS NULL;
119 ALTER TABLE part_svc_router ALTER svcrouternum SET NOT NULL;
120 ALTER TABLE part_svc_router ADD PRIMARY KEY (svcrouternum);
121 ALTER TABLE h_part_svc_router ADD svcrouternum int;
122
123 Installs w/integrated RT:
124   CREATE SEQUENCE attributes_id_seq;
125
126   CREATE TABLE Attributes (
127     id INTEGER DEFAULT nextval('attributes_id_seq'),
128     Name varchar(255) NOT NULL  ,
129     Description varchar(255) NULL  ,
130     Content text,
131     ContentType varchar(16),
132     ObjectType varchar(64),
133     ObjectId integer, -- foreign key to anything
134     Creator integer NOT NULL DEFAULT 0  ,
135     Created TIMESTAMP NULL  ,
136     LastUpdatedBy integer NOT NULL DEFAULT 0  ,
137     LastUpdated TIMESTAMP NULL  ,
138     PRIMARY KEY (id)
139   
140   );
141   
142   CREATE INDEX Attributes1 on Attributes(Name);
143   CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId);
144
145
146 (make sure you have upgrade DBIx::DBSchema to 0.24)
147 dbdef-create username 
148 create-history-tables username rate rate_detail rate_region rate_prefix reg_code reg_code_pkg
149 dbdef-create username
150
151 install Javascript::RPC (JavaScript::RPC::Server::CGI), Text::CSV_XS,
152 Spreadsheet::WriteExcel, IO-stringy (IO::Scalar), Frontier::RPC
153 (Frontier::RPC2) and MIME::Entity (MIME-tools)
154
155 afterwords (for installs w/integrated RT):
156 install HTML::Scrubber, Text::Quoted and Tree::Simple
157 make configure-rt
158 make deploy
159 /opt/rt3/sbin/rt-setup-database --action insert --datadir etc/upgrade/3.1.15
160 /opt/rt3/sbin/rt-setup-database --action insert --datadir etc/upgrade/3.1.17
161