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.
5 install DBIx::DBSchema 0.26
8 ratenum serial NOT NULL,
9 ratename varchar(80) NOT NULL,
13 CREATE TABLE rate_detail (
14 ratedetailnum serial 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
22 CREATE UNIQUE INDEX rate_detail1 ON rate_detail ( ratenum, orig_regionnum, dest_regionnum );
24 CREATE TABLE rate_region (
25 regionnum serial NOT NULL,
26 regionname varchar(80) NOT NULL,
27 PRIMARY KEY (regionnum)
30 CREATE TABLE rate_prefix (
31 prefixnum serial NOT NULL,
32 regionnum int NOT NULL,
33 countrycode varchar(3) NOT NULL,
36 PRIMARY KEY (prefixnum)
38 CREATE INDEX rate_prefix1 ON rate_prefix ( countrycode );
39 CREATE INDEX rate_prefix2 ON rate_prefix ( regionnum );
41 CREATE TABLE reg_code (
42 codenum serial NOT NULL,
43 code varchar(80) NOT NULL,
44 agentnum int NOT NULL,
47 CREATE UNIQUE INDEX reg_code1 ON reg_code ( agentnum, code );
48 CREATE INDEX reg_code2 ON reg_code ( agentnum );
50 CREATE TABLE reg_code_pkg (
54 PRIMARY KEY (codepkgnum)
56 CREATE UNIQUE INDEX reg_code_pkg1 ON reg_code_pkg ( codenum, pkgpart );
57 CREATE INDEX reg_code_pkg2 ON reg_code_pkg ( codenum );
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)
65 CREATE UNIQUE INDEX clientapi_session1 ON clientapi_session ( sessionid, namespace );
67 CREATE TABLE clientapi_session_field (
68 fieldnum serial NOT NULL,
69 sessionnum int NOT NULL,
70 fieldname varchar(80) NOT NULL,
72 PRIMARY KEY (fieldnum)
74 CREATE UNIQUE INDEX clientapi_session_field1 ON clientapi_session_field ( sessionnum, fieldname );
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 );
81 ALTER TABLE cust_main ALTER COLUMN zip DROP NOT NULL;
82 ALTER TABLE h_cust_main ALTER COLUMN zip DROP NOT NULL;
84 ALTER TABLE prepay_credit ADD agentnum integer NULL;
85 ALTER TABLE h_prepay_credit ADD agentnum integer NULL;
87 On current (7.3? definitely 7.4+) Pg:
89 ALTER TABLE type_pkgs ADD typepkgnum int;
90 ALTER TABLE type_pkgs ALTER COLUMN typepkgnum SET DEFAULT nextval('public.type_pkgs_typepkgnum_seq'::text);
91 CREATE SEQUENCE type_pkgs_typepkgnum_seq;
92 UPDATE type_pkgs SET typepkgnum = nextval('public.type_pkgs_typepkgnum_seq'::text) WHERE typepkgnum IS NULL;
93 ALTER TABLE type_pkgs ALTER typepkgnum SET NOT NULL;
94 ALTER TABLE type_pkgs ADD PRIMARY KEY (typepkgnum);
95 ALTER TABLE h_type_pkgs ADD typepkgnum int;
97 ALTER TABLE cust_bill_pkg ADD billpkgnum int;
98 ALTER TABLE cust_bill_pkg ALTER COLUMN billpkgnum SET DEFAULT nextval('public.cust_bill_pkg_billpkgnum_seq'::text);
99 CREATE SEQUENCE cust_bill_pkg_billpkgnum_seq;
100 UPDATE cust_bill_pkg SET billpkgnum = nextval('public.cust_bill_pkg_billpkgnum_seq'::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;
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) WHERE pkgsvcnum IS NULL;
109 ALTER TABLE pkg_svc ALTER pkgsvcnum SET NOT NULL;
110 ALTER TABLE pkg_svc ADD PRIMARY KEY (pkgsvcnum);
111 ALTER TABLE h_pkg_svc ADD pkgsvcnum int;
113 ALTER TABLE part_svc_router ADD svcrouternum int;
114 ALTER TABLE part_svc_router ALTER COLUMN svcrouternum SET DEFAULT nextval('public.part_svc_router_svcrouternum_seq'::text);
115 CREATE SEQUENCE part_svc_router_svcrouternum_seq;
116 UPDATE part_svc_router SET svcrouternum = nextval('public.part_svc_router_svcrouternum_seq'::text) WHERE svcrouternum IS NULL;
117 ALTER TABLE part_svc_router ALTER svcrouternum SET NOT NULL;
118 ALTER TABLE part_svc_router ADD PRIMARY KEY (svcrouternum);
119 ALTER TABLE h_part_svc_router ADD svcrouternum int;
121 Or on very old Pg (7.2 and earlier (eek), 7.3?):
123 ALTER TABLE type_pkgs ADD typepkgnum int;
124 ALTER TABLE type_pkgs ALTER COLUMN typepkgnum SET DEFAULT nextval('type_pkgs_typepkgnum_seq'::text);
125 CREATE SEQUENCE type_pkgs_typepkgnum_seq;
126 UPDATE type_pkgs SET typepkgnum = nextval('type_pkgs_typepkgnum_seq'::text) WHERE typepkgnum IS NULL;
127 UPDATE pg_attribute SET attnotnull = TRUE WHERE attname = 'typepkgnum' AND attrelid = ( SELECT oid FROM pg_class WHERE relname = 'type_pkgs');
128 ALTER TABLE type_pkgs ADD PRIMARY KEY (typepkgnum);
129 ALTER TABLE h_type_pkgs ADD typepkgnum int;
131 ALTER TABLE cust_bill_pkg ADD billpkgnum int;
132 ALTER TABLE cust_bill_pkg ALTER COLUMN billpkgnum SET DEFAULT nextval('cust_bill_pkg_billpkgnum_seq'::text);
133 CREATE SEQUENCE cust_bill_pkg_billpkgnum_seq;
134 UPDATE cust_bill_pkg SET billpkgnum = nextval('cust_bill_pkg_billpkgnum_seq'::text) WHERE billpkgnum IS NULL;
135 UPDATE pg_attribute SET attnotnull = TRUE WHERE attname = 'billpkgnum' AND attrelid = ( SELECT oid FROM pg_class WHERE relname = 'cust_bill_pkg');
136 ALTER TABLE cust_bill_pkg ADD PRIMARY KEY (billpkgnum);
137 ALTER TABLE h_cust_bill_pkg ADD billpkgnum int;
139 ALTER TABLE pkg_svc ADD pkgsvcnum int;
140 ALTER TABLE pkg_svc ALTER COLUMN pkgsvcnum SET DEFAULT nextval('pkg_svc_pkgsvcnum_seq'::text);
141 CREATE SEQUENCE pkg_svc_pkgsvcnum_seq;
142 UPDATE pkg_svc SET pkgsvcnum = nextval('pkg_svc_pkgsvcnum_seq'::text) WHERE pkgsvcnum IS NULL;
143 UPDATE pg_attribute SET attnotnull = TRUE WHERE attname = 'pkgsvcnum' AND attrelid = ( SELECT oid FROM pg_class WHERE relname = 'pkg_svc');
144 ALTER TABLE pkg_svc ADD PRIMARY KEY (pkgsvcnum);
145 ALTER TABLE h_pkg_svc ADD pkgsvcnum int;
147 ALTER TABLE part_svc_router ADD svcrouternum int;
148 ALTER TABLE part_svc_router ALTER COLUMN svcrouternum SET DEFAULT nextval('part_svc_router_svcrouternum_seq'::text);
149 CREATE SEQUENCE part_svc_router_svcrouternum_seq;
150 UPDATE part_svc_router SET svcrouternum = nextval('part_svc_router_svcrouternum_seq'::text) WHERE svcrouternum IS NULL;
151 UPDATE pg_attribute SET attnotnull = TRUE WHERE attname = 'svcrouternum' AND attrelid = ( SELECT oid FROM pg_class WHERE relname = 'part_svc_router');
152 ALTER TABLE part_svc_router ADD PRIMARY KEY (svcrouternum);
153 ALTER TABLE h_part_svc_router ADD svcrouternum int;
155 Installs w/integrated RT:
156 CREATE SEQUENCE attributes_id_seq;
158 CREATE TABLE Attributes (
159 id INTEGER DEFAULT nextval('attributes_id_seq'),
160 Name varchar(255) NOT NULL ,
161 Description varchar(255) NULL ,
163 ContentType varchar(16),
164 ObjectType varchar(64),
165 ObjectId integer, -- foreign key to anything
166 Creator integer NOT NULL DEFAULT 0 ,
167 Created TIMESTAMP NULL ,
168 LastUpdatedBy integer NOT NULL DEFAULT 0 ,
169 LastUpdated TIMESTAMP NULL ,
174 CREATE INDEX Attributes1 on Attributes(Name);
175 CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId);
177 Add these lines to /opt/rt3/etc/RT_SiteConfig.pm (before the "1;"):
178 $RT::URI::freeside::IntegrationType = 'Internal';
179 $RT::URI::freeside::URL = 'http://path/to/your/freeside/';
180 Set($DatabaseHost , '');
182 (End of Installs w/integrated RT)
185 (make sure you have upgraded DBIx::DBSchema to 0.26)
186 dbdef-create username
187 create-history-tables username rate rate_detail rate_region rate_prefix reg_code reg_code_pkg
188 dbdef-create username
190 install Javascript::RPC (JavaScript::RPC::Server::CGI), Text::CSV_XS,
191 Spreadsheet::WriteExcel, IO-stringy (IO::Scalar), Frontier::RPC
192 (Frontier::RPC2), MIME::Entity (MIME-tools) and IPC::Run3
194 afterwords (for installs w/integrated RT):
195 install HTML::Scrubber, Text::Quoted and Tree::Simple
198 /opt/rt3/sbin/rt-setup-database --action insert --datadir etc/upgrade/3.1.15
199 /opt/rt3/sbin/rt-setup-database --action insert --datadir etc/upgrade/3.1.17