diff options
Diffstat (limited to 'httemplate/docs')
-rw-r--r-- | httemplate/docs/ach.html | 4 | ||||
-rwxr-xr-x | httemplate/docs/admin.html | 3 | ||||
-rw-r--r-- | httemplate/docs/cvv2.html | 1 | ||||
-rw-r--r-- | httemplate/docs/install.html | 16 | ||||
-rw-r--r-- | httemplate/docs/schema.dia | bin | 16364 -> 14438 bytes | |||
-rw-r--r-- | httemplate/docs/selfservice.html | 4 | ||||
-rw-r--r-- | httemplate/docs/upgrade10.html | 368 |
7 files changed, 345 insertions, 51 deletions
diff --git a/httemplate/docs/ach.html b/httemplate/docs/ach.html index b8a17c87d..b79df78fe 100644 --- a/httemplate/docs/ach.html +++ b/httemplate/docs/ach.html @@ -4,7 +4,9 @@ Electronic check (ACH) information </TITLE> </HEAD> - <BODY BGCOLOR="#ffffff"> + <BODY BGCOLOR="#e8e8e8"> <IMG BORDER=0 SRC="../images/ach.png"> + <BR> + <CENTER><A HREF="javascript:close()">(close window)</A></CENTER> </BODY> </HTML> diff --git a/httemplate/docs/admin.html b/httemplate/docs/admin.html index 9ce259c2b..50beafe78 100755 --- a/httemplate/docs/admin.html +++ b/httemplate/docs/admin.html @@ -42,8 +42,7 @@ sources</u> and <u>Add a new advertising source</u>. <li>Click on <u>New Customer</u> and create a new customer for your system - accounts with billing type <b>Complimentary</b>. Leave the <i>First - package</i> dropdown set to <b>(none)</b>. + accounts with billing type <b>Complimentary</b>. <li>From the Customer View screen of the newly created customer, order the package you defined above. diff --git a/httemplate/docs/cvv2.html b/httemplate/docs/cvv2.html index 767098537..fe8a17f6f 100644 --- a/httemplate/docs/cvv2.html +++ b/httemplate/docs/cvv2.html @@ -20,5 +20,6 @@ <IMG BORDER=0 ALT="American Express" SRC="../images/cvv2_amex.png"> </TD> </TABLE> + <CENTER><A HREF="javascript:close()">(close window)</A></CENTER> </BODY> </HTML> diff --git a/httemplate/docs/install.html b/httemplate/docs/install.html index 1f80db1a7..d742ddb11 100644 --- a/httemplate/docs/install.html +++ b/httemplate/docs/install.html @@ -14,14 +14,13 @@ Before installing, you need: <li>Optional, enables typeset invoices: teTeX and Ghostscript (included with most distributions). <li>A <b>transactional</b> database engine <a href="http://search.cpan.org/search?mode=module&query=DBD%3A%3A">supported</a> by Perl's <a href="http://dbi.perl.org">DBI</a>. <ul> - <li><a href="http://www.postgresql.org/">PostgreSQL</a> is recommended (v7.2 or later, 7.4 or later recommended). + <li><a href="http://www.postgresql.org/">PostgreSQL</a> is recommended (v7.2 or later). <li> <a href="http://www.mysql.com/">MySQL</a> is <b>not currently supported</b>. <FONT SIZE="-1"><i>Developers intersted in maintaining MySQL support are welcome to ask on the -devel mailing list; many things work, but MySQL support needs a maintainer to update it for recent (and future) changes.</i></FONT> <!-- <li><a href="http://www.mysql.com/">MySQL</a> <b>MINIMUM VERSION 4.1</b> is untested but may work. Versions before 4.1 do not support standard SQL subqueries and are <b>NOT SUPPORTED</b>. <!-- <li>MySQL has been reported to work. MySQL's default <a href="http://www.mysql.com/doc/M/y/MyISAM.html">MyISAM</a> and <a href="http://www.mysql.com/doc/I/S/ISAM.html">ISAM</a> table types are not supported. You <b>must</b> use one of the new <a href="http://www.mysql.com/doc/T/a/Table_types.html">transaction-safe table types</a> such as <a href="http://www.mysql.com/doc/I/n/InnoDB.html">InnoDB</a>. Set it as the default table type using the <code>--default-table-type=InnoDB</code> <a href="http://www.mysql.com/documentation/mysql/bychapter/manual_MySQL_Database_Administration.html#Command-line_options">mysqld command-line option</a> or by setting <code>default-table-type=InnoDB</code> in the <a href="http://www.mysql.com/documentation/mysql/bychapter/manual_MySQL_Database_Administration.html#Option_files">my.cnf option file</a>. --> </ul> - <i>Note: the above only applies to the database used by the Freeside software itself. Freeside can integrate with RADIUS and other servers running MySQL <!--(any version)--> or any other DBI-supported database.</i> <li>Perl modules (<a href="http://search.cpan.org/~andk/CPAN/lib/CPAN.pm">CPAN</a> will query, download and build perl modules automatically) <ul> <!-- <li><a href="http://search.cpan.org/dist/Array-PrintCols">Array-PrintCols</a> @@ -62,16 +61,15 @@ Before installing, you need: <li><a href="http://search.cpan.org/dist/Chart">Chart</a> <li><a href="http://search.cpan.org/dist/Crypt-PasswdMD5">Crypt::PasswdMD5</a> <li><a href="http://search.cpan.org/dist/Locale-SubCountry">Locale::SubCountry</a> + <li><a href="http://search.cpan.org/dist/JavaScript-RPC">JavaScript::RPC (JavaScript::RPC::Server::CGI)</a> <li><a href="http://search.cpan.org/dist/Frontier-RPC">Frontier::RPC</a> <li><a href="http://search.cpan.org/dist/Text-CSV_XS">Text::CSV_XS</a> <li><a href="http://search.cpan.org/dist/Spreadsheet-WriteExcel">Spreadsheet::WriteExcel</a> <li><a href="http://search.cpan.org/dist/IO-stringy">IO-stringy (IO::Scalar)</a> <li><a href="http://search.cpan.org/dist/Frontier-RPC">Frontier::RPC (Frontier::RPC2)</a> <li><a href="http://search.cpan.org/dist/MIME-tools">MIME::Entity (MIME-tools)</a> - <li><a href="http://search.cpan.org/dist/IPC-Run3">IPC::Run3</a> - <li><a href="http://search.cpan.org/dist/Term-ReadKey">Term::ReadKey</a> <!-- <li><a href="http://search.cpan.org/dist/Crypt-YAPassGen">Crypt::YAPassGen</a> --> - <li><a href="http://search.cpan.org/search?mode=module&query=MIME::Entity">Fax::Hylafax::Client</a> <i>(Required if using FAX invoice destinations)</i> + <li><a href="http://search.cpan.org/search?mode=module&query=MIME::Entity">Fax::Hylafax::Client</a> <i>(Required if using FAX invoice destinations</i> <li><a href="http://search.cpan.org/dist/ApacheDBI">Apache::DBI</a> <i>(optional but recommended for better webinterface performance)</i> </ul> </ul> @@ -186,16 +184,12 @@ require valid-user <ul> <li>First user:<font size="-1"> <pre>$ su -# <a href="man/bin/freeside-adduser.html">freeside-adduser</a> -c -h /usr/local/etc/freeside/htpasswd <i>username</i></pre></font> +$ <a href="man/bin/freeside-adduser.html">freeside-adduser</a> -c -h /usr/local/etc/freeside/htpasswd <i>username</i></pre></font> <li>Additional users:<font size="-1"> <pre>$ su -# <a href="man/bin/freeside-adduser.html">freeside-adduser</a> -h /usr/local/etc/freeside/htpasswd <i>username</i></pre></font> +$ <a href="man/bin/freeside-adduser.html">freeside-adduser</a> -h /usr/local/etc/freeside/htpasswd <i>username</i></pre></font> </ul> <i>(using other auth types, add each user to your <a href="http://httpd.apache.org/docs/misc/FAQ.html#user-authentication">Apache authentication</a> and then run: <tt>freeside-adduser <b>username</b></tt>)</i> - <li>Create the Freeside system users: -<pre>$ su -# <a href="man/bin/freeside-adduser.html">freeside-adduser</a> fs_queue -# <a href="man/bin/freeside-adduser.html">freeside-adduser</a> fs_selfservice</pre> <li>As the freeside UNIX user, run <tt>freeside-setup <b>username</b></tt> to create the database tables, passing the username of a Freeside user you created above: <pre> $ su freeside diff --git a/httemplate/docs/schema.dia b/httemplate/docs/schema.dia Binary files differindex e00f59ce1..746561550 100644 --- a/httemplate/docs/schema.dia +++ b/httemplate/docs/schema.dia diff --git a/httemplate/docs/selfservice.html b/httemplate/docs/selfservice.html index 9dc8f2a5e..674b1fb6e 100644 --- a/httemplate/docs/selfservice.html +++ b/httemplate/docs/selfservice.html @@ -21,9 +21,7 @@ machine, not the backend Freeside server. On the public machine, install: Then: <ul> <li>Set the <a href="../config/config.cgi#unclassified"><i>signup_server-default_agentnum</i></a> configuration value to a default <a href="../browse/agent.cgi">agent number</a>. - <li>Set the <a href="../config/config.cgi#unclassified"><i>signup_server-default_refnum</i></a> configuration value to a default <a href="../browse/part_referral.cgi">advertising source</a>. - <li>Set the <a href="../config/config.cgi#unclassified"><i>signup_server-payby</i></a> configuration value to the acceptable payment types for signups. - <li>Set the <a href="../config/config.cgi#unclassified"><i>signup_server-realtime</i></a> configuration value to run billing for signups immediately. + <li>Set the <a href="../config/config.cgi#unclassified"><i>signup_server-default_refnum</i></a> to a default <a href="../browse/part_referral.cgi">advertising source</a>. <li>Add the user `freeside' to the the external machine. <li>Copy or symlink the <code>fs_selfservice/FS-SelfService/cgi/</code> directory into the web server's document space. Optionally, customize the .html templates. "Entry points" (useful places to link to) are: <ul> diff --git a/httemplate/docs/upgrade10.html b/httemplate/docs/upgrade10.html index ac2c6238d..1faaedee0 100644 --- a/httemplate/docs/upgrade10.html +++ b/httemplate/docs/upgrade10.html @@ -5,40 +5,344 @@ NOTE: Version numbering has been simplified. 1.5.7 is the version after 1.5.0pre6. It is still a development version - releases with odd numbered middle parts (NN in x.NN.x) are development versions, like Perl or Linux. -If migrating from 1.5.7, see README.1.5.8 instead - If migrating from 1.5.0pre6, see README.1.5.7 instead install DBD::Pg 1.32, 1.41 or later (not 1.40) (or, if you're using a Perl version before 5.6, you could try installing DBD::Pg 1.22 with <a href="http://420.am/~ivan/DBD-Pg-1.22-fixvercmp.patch">this patch</a> and commenting out the "use DBD::Pg 1.32" at the top of DBIx/DBSchema/DBD/Pg.pm) -install DBIx::DBSchema 0.27 (or later) - (if you are running Pg version 7.2.x or earlier, install at least - DBIx::DBSchema 0.29) +install DBIx::DBSchema 0.26 install Net::SSH 0.08 -install HTML::Widgets::SelectLayers 0.05 -install Business::CreditCard 0.28 - - If using Apache::ASP, add PerlSetVar RequestBinaryRead Off and PerlSetVar IncludesDir /your/freeside/document/root/ to your Apache configuration and make sure you are using Apache::ASP minimum version 2.55. - In httpd.conf, change <Files ~ \.cgi> to <Files ~ (\.cgi|\.html)> - In httpd.conf, change <b>AddHandler perl-script .cgi</b> or <b>SetHandler perl-script</b> to <b>AddHandler perl-script .cgi .html</b> -install NetAddr::IP, Chart::Base, Locale::SubCountry, Text::CSV_XS, +install NetAddr::IP, Chart::Base, Locale::SubCountry, +JavaScript::RPC (JavaScript::RPC::Server::CGI), Text::CSV_XS, Spreadsheet::WriteExcel, IO-stringy (IO::Scalar), Frontier::RPC -(Frontier::RPC2), MIME::Entity (MIME-tools), IPC::Run3, Net::Whois::Raw, -JSON and Term::ReadKey +(Frontier::RPC2), MIME::Entity (MIME-tools) and IPC::Run3 <!-- and Crypt::YAPassGen--> INSERT INTO msgcat ( msgnum, msgcode, locale, msg ) VALUES ( 20, 'svc_external-id', 'en_US', 'External ID' ); INSERT INTO msgcat ( msgnum, msgcode, locale, msg ) VALUES ( 21, 'svc_external-title', 'en_US', 'Title' ); +CREATE TABLE cust_bill_pkg_detail ( + detailnum serial, + pkgnum int NOT NULL, + invnum int NOT NULL, + detail varchar(80), + PRIMARY KEY (detailnum) +); +CREATE INDEX cust_bill_pkg_detail1 ON cust_bill_pkg_detail ( pkgnum, invnum ); + +CREATE TABLE part_virtual_field ( + vfieldpart int NOT NULL, + dbtable varchar(32) NOT NULL, + name varchar(32) NOT NULL, + check_block text, + list_source text, + length integer, + label varchar(80), + PRIMARY KEY (vfieldpart) +); + +CREATE TABLE virtual_field ( + recnum integer NOT NULL, + vfieldpart integer NOT NULL, + value varchar(128) NOT NULL, + PRIMARY KEY (vfieldpart, recnum) +); + +CREATE TABLE router ( + routernum serial, + routername varchar(80), + svcnum int, + PRIMARY KEY (routernum) +); + +CREATE TABLE part_svc_router ( + svcrouternum serial, + svcpart int NOT NULL, + routernum int NOT NULL, + PRIMARY KEY (svcrouternum) +); + +CREATE TABLE addr_block ( + blocknum serial, + routernum int NOT NULL, + ip_gateway varchar(15) NOT NULL, + ip_netmask int NOT NULL, + PRIMARY KEY (blocknum) +); +CREATE UNIQUE INDEX addr_block1 ON addr_block ( blocknum, routernum ); + +CREATE TABLE svc_broadband ( + svcnum int NOT NULL, + blocknum int NOT NULL, + speed_up int NOT NULL, + speed_down int NOT NULL, + ip_addr varchar(15), + PRIMARY KEY (svcnum) +); + +CREATE TABLE acct_snarf ( + snarfnum serial, + svcnum int NOT NULL, + machine varchar(255) NULL, + protocol varchar(80) NULL, + username varchar(80) NULL, + _password varchar(80) NULL, + PRIMARY KEY (snarfnum) +); +CREATE INDEX acct_snarf1 ON acct_snarf ( svcnum ); + +CREATE TABLE svc_external ( + svcnum int NOT NULL, + id int, + title varchar(80), + PRIMARY KEY (svcnum) +); + +<!-- +CREATE TABLE part_pkg_temp ( + pkgpart serial NOT NULL, + pkg varchar(80) NOT NULL, + "comment" varchar(80) NOT NULL, + setup text NULL, + freq varchar(80) NOT NULL, + recur text NULL, + setuptax char(1) NULL, + recurtax char(1) NULL, + plan varchar(80) NULL, + plandata text NULL, + disabled char(1) NULL, + taxclass varchar(80) NULL, + PRIMARY KEY (pkgpart) +); +INSERT INTO part_pkg_temp SELECT * from part_pkg; +DROP TABLE part_pkg; +ALTER TABLE part_pkg_temp RENAME TO part_pkg; +CREATE INDEX part_pkg1 ON part_pkg(disabled); + +On modern Pg: +ALTER TABLE part_pkg DROP CONSTRAINT part_pkg_temp_pkey; +ALTER TABLE part_pkg ADD PRIMARY KEY (pkgpart); +select setval('public.part_pkg_temp_pkgpart_seq', ( select max(pkgpart) from part_pkg) ); + +Or on Pg versions that don't support DROP CONSTRAINT and ADD PRIMARY KEY (tested on 7.1 and 7.2 so far): +DROP INDEX part_pkg_temp_pkey; +CREATE UNIQUE INDEX part_pkg_pkey ON part_pkg (pkgpart); +probably this one?: select setval('part_pkg_temp_pkgpart_seq', ( select max(pkgpart) from part_pkg) ); +probably not this one?: select setval('part_pkg_pkgpart_seq', ( select max(pkgpart) from part_pkg) ); + +CREATE TABLE h_part_pkg_temp ( + historynum serial NOT NULL, + history_date int, + history_user varchar(80) NOT NULL, + history_action varchar(80) NOT NULL, + pkgpart int NOT NULL, + pkg varchar(80) NOT NULL, + "comment" varchar(80) NOT NULL, + setup text NULL, + freq varchar(80) NOT NULL, + recur text NULL, + setuptax char(1) NULL, + recurtax char(1) NULL, + plan varchar(80) NULL, + plandata text NULL, + disabled char(1) NULL, + taxclass varchar(80) NULL, + PRIMARY KEY (historynum) +); +INSERT INTO h_part_pkg_temp SELECT * from h_part_pkg; +DROP TABLE h_part_pkg; +ALTER TABLE h_part_pkg_temp RENAME TO h_part_pkg; +CREATE INDEX h_part_pkg1 ON h_part_pkg(disabled); + +On modern Pg: +ALTER TABLE h_part_pkg DROP CONSTRAINT h_part_pkg_temp_pkey; +ALTER TABLE h_part_pkg ADD PRIMARY KEY (historynum); +select setval('public.h_part_pkg_temp_historynum_seq', ( select max(historynum) from h_part_pkg) ); + +Or on Pg versions that don't support DROP CONSTRAINT and ADD PRIMARY KEY (tested on 7.1 and 7.2 so far): +DROP INDEX h_part_pkg_temp_pkey; +CREATE UNIQUE INDEX h_part_pkg_pkey ON h_part_pkg (historynum); +probably this one?: select setval('h_part_pkg_temp_historynum_seq', ( select max(historynum) from h_part_pkg) ); +probably not this one?: select setval('h_part_pkg_historynum_seq', ( select max(historynum) from h_part_pkg) ); +-->ALTER TABLE part_pkg ADD COLUMN taxclass varchar(80) NULL; +ALTER TABLE h_part_pkg ADD COLUMN taxclass varchar(80) NULL; + +CREATE TABLE cust_pay_refund ( + payrefundnum serial NOT NULL, + paynum int NOT NULL, + refundnum int NOT NULL, + _date int NOT NULL, + amount decimal(10,2) NOT NULL, + PRIMARY KEY (payrefundnum) +); +CREATE INDEX cust_pay_refund1 ON cust_pay_refund(paynum); +CREATE INDEX cust_pay_refund2 ON cust_pay_refund(refundnum); + +CREATE TABLE cust_pay_void ( + paynum int NOT NULL, + custnum int NOT NULL, + paid decimal(10,2) NOT NULL, + _date int, + payby char(4) NOT NULL, + payinfo varchar(80), + paybatch varchar(80), + closed char(1), + void_date int, + reason varchar(80), + otaker varchar(32) NOT NULL, + PRIMARY KEY (paynum) +); +CREATE INDEX cust_pay_void1 ON cust_pay_void(custnum); + +CREATE TABLE part_pkg_option ( + optionnum serial, + pkgpart int not null, + optionname varchar(80) not null, + optionvalue text NULL, + PRIMARY KEY (optionnum) +); +CREATE INDEX part_pkg_option1 ON part_pkg_option ( pkgpart ); +CREATE INDEX part_pkg_option2 ON part_pkg_option ( optionname ); + +CREATE TABLE rate ( + ratenum serial NOT NULL, + ratename varchar(80) NOT NULL, + PRIMARY KEY (ratenum) +); + +CREATE TABLE rate_detail ( + ratedetailnum serial NOT NULL, + ratenum int NOT NULL, + orig_regionnum int NULL, + dest_regionnum int NOT NULL, + min_included int NOT NULL, + min_charge decimal(10,2) NOT NULL, + sec_granularity int NOT NULL, + PRIMARY KEY (ratedetailnum) +); +CREATE UNIQUE INDEX rate_detail1 ON rate_detail ( ratenum, orig_regionnum, dest_regionnum ); + +CREATE TABLE rate_region ( + regionnum serial NOT NULL, + regionname varchar(80) NOT NULL, + PRIMARY KEY (regionnum) +); + +CREATE TABLE rate_prefix ( + prefixnum serial NOT NULL, + regionnum int NOT NULL, + countrycode varchar(3) NOT NULL, + npa varchar(6) NULL, + nxx varchar(3) NULL, + PRIMARY KEY (prefixnum) +); +CREATE INDEX rate_prefix1 ON rate_prefix ( countrycode ); +CREATE INDEX rate_prefix2 ON rate_prefix ( regionnum ); + +CREATE TABLE reg_code ( + codenum serial NOT NULL, + code varchar(80) NOT NULL, + agentnum int NOT NULL, + PRIMARY KEY (codenum) +); +CREATE UNIQUE INDEX reg_code1 ON reg_code ( agentnum, code ); +CREATE INDEX reg_code2 ON reg_code ( agentnum ); + +CREATE TABLE reg_code_pkg ( + codepkgnum serial, + codenum int NOT NULL, + pkgpart int NOT NULL, + PRIMARY KEY (codepkgnum) +); +CREATE UNIQUE INDEX reg_code_pkg1 ON reg_code_pkg ( codenum, pkgpart ); +CREATE INDEX reg_code_pkg2 ON reg_code_pkg ( codenum ); + +CREATE TABLE clientapi_session ( + sessionnum serial NOT NULL, + sessionid varchar(80) NOT NULL, + namespace varchar(80) NOT NULL, + PRIMARY KEY (sessionnum) +); +CREATE UNIQUE INDEX clientapi_session1 ON clientapi_session ( sessionid, namespace ); + +CREATE TABLE clientapi_session_field ( + fieldnum serial NOT NULL, + sessionnum int NOT NULL, + fieldname varchar(80) NOT NULL, + fieldvalue text NULL, + PRIMARY KEY (fieldnum) +); +CREATE UNIQUE INDEX clientapi_session_field1 ON clientapi_session_field ( sessionnum, fieldname ); + DROP INDEX cust_bill_pkg1; +ALTER TABLE cust_bill_pkg ADD itemdesc varchar(80) NULL; +ALTER TABLE h_cust_bill_pkg ADD itemdesc varchar(80) NULL; +ALTER TABLE cust_main_county ADD taxname varchar(80) NULL; +ALTER TABLE h_cust_main_county ADD taxname varchar(80) NULL; +ALTER TABLE cust_main_county ADD setuptax char(1) NULL; +ALTER TABLE h_cust_main_county ADD setuptax char(1) NULL; +ALTER TABLE cust_main_county ADD recurtax char(1) NULL; +ALTER TABLE h_cust_main_county ADD recurtax char(1) NULL; +ALTER TABLE cust_pkg ADD last_bill int NULL; +ALTER TABLE h_cust_pkg ADD last_bill int NULL; +ALTER TABLE agent ADD disabled char(1) NULL; +ALTER TABLE h_agent ADD disabled char(1) NULL; +ALTER TABLE agent ADD username varchar(80) NULL; +ALTER TABLE h_agent ADD username varchar(80) NULL; +ALTER TABLE agent ADD _password varchar(80) NULL; +ALTER TABLE h_agent ADD _password varchar(80) NULL; +ALTER TABLE cust_main ADD paycvv varchar(512) NULL; +ALTER TABLE h_cust_main ADD paycvv varchar(512) NULL; +ALTER TABLE cust_main ADD paymask varchar(80) NULL; +ALTER TABLE h_cust_main ADD paymask varchar(80) NULL; +ALTER TABLE part_referral ADD disabled char(1) NULL; +ALTER TABLE h_part_referral ADD disabled char(1) NULL; +CREATE INDEX part_referral1 ON part_referral ( disabled ); +ALTER TABLE pkg_svc ADD primary_svc char(1) NULL; +ALTER TABLE h_pkg_svc ADD primary_svc char(1) NULL; +ALTER TABLE svc_forward ADD src varchar(255) NULL; +ALTER TABLE h_svc_forward ADD src varchar(255) NULL; +ALTER TABLE part_pkg ADD promo_code varchar(80) NULL; +ALTER TABLE h_part_pkg ADD promo_code varchar(80) NULL; +CREATE INDEX part_pkg2 ON part_pkg ( promo_code ); +CREATE INDEX h_part_pkg2 ON h_part_pkg ( promo_code ); +ALTER TABLE prepay_credit ADD agentnum integer NULL; +ALTER TABLE h_prepay_credit ADD agentnum integer NULL; + +ALTER TABLE type_pkgs ADD typepkgnum int; +ALTER TABLE type_pkgs ALTER COLUMN typepkgnum SET DEFAULT nextval('public.type_pkgs_typepkgnum_seq'::text); +CREATE SEQUENCE type_pkgs_typepkgnum_seq; +UPDATE type_pkgs SET typepkgnum = nextval('public.type_pkgs_typepkgnum_seq'::text) WHERE typepkgnum IS NULL; +ALTER TABLE type_pkgs ALTER typepkgnum SET NOT NULL; +ALTER TABLE type_pkgs ADD PRIMARY KEY (typepkgnum); +ALTER TABLE h_type_pkgs ADD typepkgnum int; + +ALTER TABLE cust_bill_pkg ADD billpkgnum int; +ALTER TABLE cust_bill_pkg ALTER COLUMN billpkgnum SET DEFAULT nextval('public.cust_bill_pkg_billpkgnum_seq'::text); +CREATE SEQUENCE cust_bill_pkg_billpkgnum_seq; +UPDATE cust_bill_pkg SET billpkgnum = nextval('public.cust_bill_pkg_billpkgnum_seq'::text) WHERE billpkgnum IS NULL; +ALTER TABLE cust_bill_pkg ALTER billpkgnum SET NOT NULL; +ALTER TABLE cust_bill_pkg ADD PRIMARY KEY (billpkgnum); +ALTER TABLE h_cust_bill_pkg ADD billpkgnum int; + +ALTER TABLE pkg_svc ADD pkgsvcnum int; +ALTER TABLE pkg_svc ALTER COLUMN pkgsvcnum SET DEFAULT nextval('public.pkg_svc_pkgsvcnum_seq'::text); +CREATE SEQUENCE pkg_svc_pkgsvcnum_seq; +UPDATE pkg_svc SET pkgsvcnum = nextval('public.pkg_svc_pkgsvcnum_seq'::text) WHERE pkgsvcnum IS NULL; +ALTER TABLE pkg_svc ALTER pkgsvcnum SET NOT NULL; +ALTER TABLE pkg_svc ADD PRIMARY KEY (pkgsvcnum); +ALTER TABLE h_pkg_svc ADD pkgsvcnum int; + On recent Pg versions: ALTER TABLE cust_main ALTER COLUMN payinfo varchar(512) NULL; ALTER TABLE h_cust_main ALTER COLUMN payinfo varchar(512) NULL; Or on older Pg versions that don't support altering columns directly: -(dump database, edit & reload) + On recent Pg versions: @@ -64,30 +368,26 @@ If you created your database with a version before 1.4.2, dump database, edit: - domain_record and h_domain_record: increase recdata from 80 to 255 then reload -mandatory again: +optionally: -make install-perl-modules to install the new libraries and CLI utilities -run "freeside-upgrade username" to create the remaining new tables and columns + CREATE INDEX cust_main6 ON cust_main ( daytime ); + CREATE INDEX cust_main7 ON cust_main ( night ); + CREATE INDEX cust_main8 ON cust_main ( fax ); + CREATE INDEX cust_main9 ON cust_main ( ship_daytime ); + CREATE INDEX cust_main10 ON cust_main ( ship_night ); + CREATE INDEX cust_main11 ON cust_main ( ship_fax ); + CREATE INDEX agent2 ON agent ( disabled ); + CREATE INDEX part_bill_event2 ON part_bill_event ( disabled ); + CREATE INDEX cust_pay4 ON cust_pay (_date); -optionally: + serial columns -CREATE INDEX cust_main4 ON cust_main ( daytime ); -CREATE INDEX cust_main5 ON cust_main ( night ); -CREATE INDEX cust_main6 ON cust_main ( fax ); -CREATE INDEX cust_main7 ON cust_main ( refnum ); -CREATE INDEX cust_main8 ON cust_main ( county ); -CREATE INDEX cust_main9 ON cust_main ( state ); -CREATE INDEX cust_main10 ON cust_main ( country ); -CREATE INDEX cust_main11 ON cust_main ( ship_last ); -CREATE INDEX cust_main12 ON cust_main ( ship_company ); -CREATE INDEX cust_main13 ON cust_main ( ship_daytime ); -CREATE INDEX cust_main14 ON cust_main ( ship_night ); -CREATE INDEX cust_main15 ON cust_main ( ship_fax ); -CREATE INDEX agent2 ON agent ( disabled ); -CREATE INDEX part_bill_event2 ON part_bill_event ( disabled ); -CREATE INDEX cust_pay4 ON cust_pay (_date); -CREATE INDEX part_referral1 ON part_referral ( disabled ); -CREATE INDEX part_pkg2 ON part_pkg ( promo_code ); -CREATE INDEX h_part_pkg2 ON h_part_pkg ( promo_code ); +mandatory again: + +dbdef-create username +create-history-tables username cust_bill_pkg_detail router part_svc_router addr_block svc_broadband acct_snarf svc_external cust_pay_refund cust_pay_void part_pkg_option rate rate_detail rate_region rate_prefix reg_code reg_code_pkg +dbdef-create username + +apache - fix <Files> sections to include .html also </pre> |