0.26
[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'::text) WHERE typepkgnum IS NULL;
91 ALTER TABLE type_pkgs ALTER typepkgnum SET NOT NULL;
92 ALTER TABLE type_pkgs ADD PRIMARY KEY (typepkgnum);
93 ALTER TABLE h_type_pkgs ADD typepkgnum int;
94
95 ALTER TABLE cust_bill_pkg ADD billpkgnum int;
96 ALTER TABLE cust_bill_pkg ALTER COLUMN billpkgnum SET DEFAULT nextval('public.cust_bill_pkg_billpkgnum_seq'::text);
97 CREATE SEQUENCE cust_bill_pkg_billpkgnum_seq;
98 UPDATE cust_bill_pkg SET billpkgnum = nextval('public.cust_bill_pkg_billpkgnum_seq'::text) WHERE billpkgnum IS NULL;
99 ALTER TABLE cust_bill_pkg ALTER billpkgnum SET NOT NULL;
100 ALTER TABLE cust_bill_pkg ADD PRIMARY KEY (billpkgnum);
101 ALTER TABLE h_cust_bill_pkg ADD billpkgnum int;
102
103 ALTER TABLE pkg_svc ADD pkgsvcnum int;
104 ALTER TABLE pkg_svc ALTER COLUMN pkgsvcnum SET DEFAULT nextval('public.pkg_svc_pkgsvcnum_seq'::text);
105 CREATE SEQUENCE pkg_svc_pkgsvcnum_seq;
106 UPDATE pkg_svc SET pkgsvcnum = nextval('public.pkg_svc_pkgsvcnum_seq'::text) WHERE pkgsvcnum IS NULL;
107 ALTER TABLE pkg_svc ALTER pkgsvcnum SET NOT NULL;
108 ALTER TABLE pkg_svc ADD PRIMARY KEY (pkgsvcnum);
109 ALTER TABLE h_pkg_svc ADD pkgsvcnum int;
110
111 ALTER TABLE part_svc_router ADD svcrouternum int;
112 ALTER TABLE part_svc_router ALTER COLUMN svcrouternum SET DEFAULT nextval('public.part_svc_router_svcrouternum_seq'::text);
113 CREATE SEQUENCE part_svc_router_svcrouternum_seq;
114 UPDATE part_svc_router SET svcrouternum = nextval('public.part_svc_router_svcrouternum_seq'::text) WHERE svcrouternum IS NULL;
115 ALTER TABLE part_svc_router ALTER svcrouternum SET NOT NULL;
116 ALTER TABLE part_svc_router ADD PRIMARY KEY (svcrouternum);
117 ALTER TABLE h_part_svc_router ADD svcrouternum int;
118
119 Installs w/integrated RT:
120   CREATE SEQUENCE attributes_id_seq;
121
122   CREATE TABLE Attributes (
123     id INTEGER DEFAULT nextval('attributes_id_seq'),
124     Name varchar(255) NOT NULL  ,
125     Description varchar(255) NULL  ,
126     Content text,
127     ContentType varchar(16),
128     ObjectType varchar(64),
129     ObjectId integer, -- foreign key to anything
130     Creator integer NOT NULL DEFAULT 0  ,
131     Created TIMESTAMP NULL  ,
132     LastUpdatedBy integer NOT NULL DEFAULT 0  ,
133     LastUpdated TIMESTAMP NULL  ,
134     PRIMARY KEY (id)
135   
136   );
137   
138   CREATE INDEX Attributes1 on Attributes(Name);
139   CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId);
140
141   Add these lines to /opt/rt3/etc/RT_SiteConfig.pm (before the "1;"):
142     $RT::URI::freeside::IntegrationType = 'Internal';
143     $RT::URI::freeside::URL = 'http://path/to/your/freeside/';
144     Set($DatabaseHost   , '');
145
146 (End of Installs w/integrated RT)
147
148
149 (make sure you have upgraded DBIx::DBSchema to 0.26)
150 dbdef-create username 
151 create-history-tables username rate rate_detail rate_region rate_prefix reg_code reg_code_pkg
152 dbdef-create username
153
154 install Javascript::RPC (JavaScript::RPC::Server::CGI), Text::CSV_XS,
155 Spreadsheet::WriteExcel, IO-stringy (IO::Scalar), Frontier::RPC
156 (Frontier::RPC2) and MIME::Entity (MIME-tools)
157
158 afterwords (for installs w/integrated RT):
159 install HTML::Scrubber, Text::Quoted and Tree::Simple
160 make configure-rt
161 make deploy
162 /opt/rt3/sbin/rt-setup-database --action insert --datadir etc/upgrade/3.1.15
163 /opt/rt3/sbin/rt-setup-database --action insert --datadir etc/upgrade/3.1.17
164