X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fdocs%2Fupgrade8.html;h=11b80e3901317a004b67b8516bdfe5648a7aaab6;hp=0949315b9f196d123a73b368c5438c1650dd4252;hb=fb98e91566e72bc3adb823b706529002af487c09;hpb=d7a54962112545979a1710f97dd5299fbd9c1aaf diff --git a/httemplate/docs/upgrade8.html b/httemplate/docs/upgrade8.html index 0949315b9..11b80e390 100644 --- a/httemplate/docs/upgrade8.html +++ b/httemplate/docs/upgrade8.html @@ -7,8 +7,9 @@
  • If migrating from less than 1.3.1, see these instructions first.
  • Backup your database and current Freeside installation. (with PostgreSQL) (with MySQL)
  • mod_perl is now required. -
  • Install Archive-Tar, Time-Duration, and Tie-IxHash +
  • Install Time-Duration, Tie-IxHash and HTML-Widgets-SelectLayers (minimum version 0.02).
  • Install Apache::ASP or HTML::Mason. +
  • Install rsync @@ -105,8 +106,12 @@ CREATE TABLE queue ( jobnum int primary key, job text not null, _date int not null, - status varchar(80) not null + status varchar(80) not null, + statustext text null, + svcnum int null ); +CREATE INDEX queue1 ON queue ( svcnum ); +CREATE INDEX queue2 ON queue ( status ); CREATE TABLE queue_arg ( argnum int primary key, @@ -115,6 +120,14 @@ CREATE TABLE queue_arg ( ); CREATE INDEX queue_arg1 ON queue_arg ( jobnum ); +CREATE TABLE queue_depend ( + dependnum int primary key, + jobnum int not null, + depend_jobnum int not null +); +CREATE INDEX queue_depend1 ON queue_depend ( jobnum ); +CREATE INDEX queue_depend2 ON queue_depend ( depend_jobnum ); + CREATE TABLE part_pop_local ( localnum int primary key, popnum int not null, @@ -147,9 +160,17 @@ CREATE TABLE part_bill_event ( ); CREATE INDEX part_bill_event1 ON part_bill_event ( payby ); +CREATE TABLE export_svc ( + exportsvcnum int primary key, + exportnum int not null, + svcpart int not null +); +CREATE UNIQUE INDEX export_svc1 ON export_svc ( exportnum, svcpart ); +CREATE INDEX export_svc2 ON export_svc ( exportnum ); +CREATE INDEX export_svc3 ON export_svc ( svcpart ); + CREATE TABLE part_export ( exportnum int primary key, - svcpart int not null, machine varchar(80) not null, exporttype varchar(80) not null, nodomain char(1) NULL @@ -157,18 +178,45 @@ CREATE TABLE part_export ( CREATE INDEX part_export1 ON part_export ( machine ); CREATE INDEX part_export2 ON part_export ( exporttype ); -CREATE INDEX part_export_option ( +CREATE TABLE part_export_option ( optionnum int primary key, exportnum int not null, - option varchar(80) not null, + optionname varchar(80) not null, optionvalue text NULL ); CREATE INDEX part_export_option1 ON part_export_option ( exportnum ); -CREATE INDEX part_export_option2 ON part_export_option ( option ); +CREATE INDEX part_export_option2 ON part_export_option ( optionname ); + +CREATE TABLE radius_usergroup ( + usergroupnum int primary key, + svcnum int not null, + groupname varchar(80) not null +); +CREATE INDEX radius_usergroup1 ON radius_usergroup ( svcnum ); +CREATE INDEX radius_usergroup2 ON radius_usergroup ( groupname ); + +CREATE TABLE msgcat ( + msgnum int primary key, + msgcode varchar(80) not null, + locale varchar(16) not null, + msg text not null +); +CREATE INDEX msgcat1 ON msgcat ( msgcode, locale ); + +CREATE TABLE cust_tax_exempt ( + exemptnum int primary key, + custnum int not null, + taxnum int not null, + year int not null, + month int not null, + amount decimal(10,2) +); +CREATE UNIQUE INDEX cust_tax_exempt1 ON cust_tax_exempt ( taxnum, year, month ); ALTER TABLE svc_acct ADD domsvc integer NOT NULL; ALTER TABLE svc_domain ADD catchall integer NULL; ALTER TABLE cust_main ADD referral_custnum integer NULL; +ALTER TABLE cust_main ADD comments text NULL; ALTER TABLE cust_pay ADD custnum integer; ALTER TABLE cust_pay_batch ADD paybatchnum integer; ALTER TABLE cust_refund ADD custnum integer; @@ -183,6 +231,12 @@ ALTER TABLE cust_bill ADD closed char(1) NULL; ALTER TABLE cust_pay ADD closed char(1) NULL; ALTER TABLE cust_credit ADD closed char(1) NULL; ALTER TABLE cust_refund ADD closed char(1) NULL; +ALTER TABLE cust_bill_event ADD status varchar(80); +ALTER TABLE cust_bill_event ADD statustext text NULL; +ALTER TABLE svc_acct ADD sec_phrase varchar(80) NULL; +ALTER TABLE part_pkg ADD taxclass varchar(80) NULL; +ALTER TABLE cust_main_county ADD taxclass varchar(80) NULL; +ALTER TABLE cust_main_county ADD exempt_amount decimal(10,2); CREATE INDEX cust_main3 ON cust_main ( referral_custnum ); CREATE INDEX cust_credit_bill1 ON cust_credit_bill ( crednum ); CREATE INDEX cust_credit_bill2 ON cust_credit_bill ( invnum ); @@ -192,6 +246,9 @@ CREATE INDEX cust_credit_refund1 ON cust_credit_refund ( crednum ); CREATE INDEX cust_credit_refund2 ON cust_credit_refund ( refundnum ); CREATE UNIQUE INDEX cust_pay_batch_pkey ON cust_pay_batch ( paybatchnum ); CREATE UNIQUE INDEX part_svc_column1 ON part_svc_column ( svcpart, columnname ); +CREATE INDEX cust_pay2 ON cust_pay ( paynum ); +CREATE INDEX cust_pay3 ON cust_pay ( custnum ); +CREATE INDEX cust_pay4 ON cust_pay ( paybatch );
  • If you are using PostgreSQL, apply the following changes to your database: @@ -220,7 +277,6 @@ CREATE UNIQUE INDEX svc_acct_pop_pkey ON svc_acct_pop ( popnum ); CREATE UNIQUE INDEX svc_acct_sm_pkey ON svc_acct_sm ( svcnum ); CREATE UNIQUE INDEX svc_domain_pkey ON svc_domain ( svcnum ); CREATE UNIQUE INDEX svc_www_pkey ON svc_www ( svcnum ); -CREATE UNIQUE INDEX type_pkgs_pkey ON type_pkgs ( typenum );
  • If you wish to enable service/shipping addresses, apply the following changes to your database: @@ -238,23 +294,18 @@ ALTER TABLE cust_main ADD COLUMN ship_country char(2) NULL; ALTER TABLE cust_main ADD COLUMN ship_daytime varchar(20) NULL; ALTER TABLE cust_main ADD COLUMN ship_night varchar(20) NULL; ALTER TABLE cust_main ADD COLUMN ship_fax varchar(12) NULL; -CREATE INDEX cust_main1 ON cust_main ( ship_last ); -CREATE INDEX cust_main2 ON cust_main ( ship_company ); - -
  • If you wish to enable customer comments, apply the following change to - your database: -
    -ALTER TABLE cust_main ADD COLUMN comments text NULL;
    +CREATE INDEX cust_main4 ON cust_main ( ship_last );
    +CREATE INDEX cust_main5 ON cust_main ( ship_company );
     
  • If you are using the signup server, reinstall it according to the instructions. The 1.3.x signup server is not compatible with 1.4.x. -
  • Run bin/dbdef-create. +
  • Run bin/dbdef-create username
  • If you have svc_acct_sm records or service definitions: -
  • Run bin/fs-migrate-payref -
  • Run bin/fs-migrate-part_svc +
  • Run bin/fs-migrate-payrefusername +
  • Run bin/fs-migrate-part_svcusername
  • After running bin/fs-migrate-payref, apply the following changes to your database:
  • PostgreSQLMySQL, others
    @@ -266,9 +317,10 @@ CREATE TABLE cust_pay_temp ( _date int null, payby char(4) not null, payinfo varchar(16) null, - paybatch varchar(80) null + paybatch varchar(80) null, + closed char(1) null ); -INSERT INTO cust_pay_temp SELECT * from cust_pay; +INSERT INTO cust_pay_temp SELECT paynum, custnum, paid, _date, payby, payinfo, paybatch, closed FROM cust_pay; DROP TABLE cust_pay; ALTER TABLE cust_pay_temp RENAME TO cust_pay; CREATE UNIQUE INDEX cust_pay1 ON cust_pay (paynum); @@ -281,9 +333,10 @@ CREATE TABLE cust_refund_temp ( reason varchar(80) not null, payby char(4) not null, payinfo varchar(16) null, - paybatch varchar(80) null + paybatch varchar(80) null, + closed char(1) null ); -INSERT INTO cust_refund_temp SELECT * from cust_refund; +INSERT INTO cust_refund_temp SELECT refundnum, custnum, _date, refund, otaker, reason, payby, payinfo, '', closed from cust_refund; DROP TABLE cust_refund; ALTER TABLE cust_refund_temp RENAME TO cust_refund; CREATE UNIQUE INDEX cust_refund1 ON cust_refund (refundnum); @@ -294,11 +347,29 @@ ALTER TABLE cust_pay DROP COLUMN invnum; ALTER TABLE cust_refund DROP COLUMN crednum;
    -
  • IMPORTANT: After applying the second set of database changes, run bin/dbdef-create again. +
  • IMPORTANT: After applying the second set of database changes, run bin/dbdef-create username again. +
  • IMPORTANT: run bin/create-history-tables username +
  • IMPORTANT: After running bin/create-history-tables, run bin/dbdef-create username again. +
  • As the freeside UNIX user, run bin/populate-msgcat username to populate the message catalog
  • set the user_policy configuration value as appropriate for your site. +
  • set the locale configuration value to en_US. +
  • the mxmachines, nsmachines, arecords and cnamerecords configuration values have been deprecated. Set the defaultrecords configuration value instead.
  • Create the `/usr/local/etc/freeside/cache.datasrc' directory - (ownded by the freeside user). + (owned by the freeside user).
  • freeside-queued was installed with the Perl modules. Start it now and ensure that is run upon system startup. -
  • Set appropriate invoice events for your site. At the very least, you'll want to set some invoice events "After 0 days": a BILL invoice event to print invoices, a CARD invoice event to batch or run cards real-time, and a COMP invoice event to "pay" complimentary customers. +
  • Set appropriate invoice events for your site. At the very least, you'll want to set some invoice events "After 0 days": a BILL invoice event to print invoices, a CARD invoice event to batch or run cards real-time, and a COMP invoice event to "pay" complimentary customers. If you were using the -i option to freeside-bill it should be removed. +
  • Use freeside-daily instead of freeside-bill. +
  • If you would like Freeside to notify your customers when their credit + cards and other billing arrangements are about to expire, arrange for + freeside-expiration-alerter to be run daily by cron or similar + facility. The message it sends can be configured from the + Configuration choice of the main menu as alerter_template. +
  • Export has been rewritten. If you were using the icradiusmachines, + icradius_mysqldest, icradius_mysqlsource, or icradius_secrets files, add + an appropriate "sqlradius" export to all relevant Service Definitions + instead. Use MySQL replication or + point the "sqlradius" export directly at your external ICRADIUS or FreeRADIUS + database (or through an SSL-necrypting proxy...)