my $username_len = 64; #usernamemax config file
- # name type nullability length default local
+ # Return a hashref defining the entire application database schema
+ # Each key of the hashref contains a structure describing a database table
+ #
+ # table_name => {
+ # columns => [...],
+ # primary_key => 'column',
+ # unique => [column,column,...],
+ # index => [[column],[column,column],...],
+ # foreign_keys => [{...},{...},...],
+ # }
+ #
+ #
+ # columns => [
+ #
+ # 'column_name',
+ #
+ # 'column_type',
+ #
+ # 'NULL' or '', # 'NULL' : Allow null values
+ # # '' : Disallow null values
+ #
+ # 'length', # Column size value. eg:
+ # # 40 : VARCHAR(40)
+ # # '10,2' : FLOAT(10,2)
+ #
+ # 'default', # Default column value for a new record
+ # # (Unclear if setting this to '' results in a default
+ # # value of NULL or empty string?)
+ #
+ # '', # local ?
+ #
+ # name, type, nullability, length, default, local,
+ # name, type, nullability, length, default, local,
+ # ...
+ #
+ # ],
+ # name type nullability length default local
return {
'agent' => {
'title', 'varchar', 'NULL', $char_d, '', '',
'body', 'blob', 'NULL', '', '', '',
'disabled', @date_type, '', '',
+ 'attachnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'attachnum',
'unique' => [],
'statementnum', 'int', 'NULL', '', '', '', #invoice aggregate statements
'agent_invid', 'int', 'NULL', '', '', '', #(varchar?) importing legacy
'promised_date', @date_type, '', '',
+ 'taxengine_request', 'text', 'NULL', '', '', '',
'pending', 'char', 'NULL', 1, '', '',
],
'statementnum', 'int', 'NULL', '', '', '', #invoice aggregate statements
'agent_invid', 'int', 'NULL', '', '', '', #(varchar?) importing legacy
'promised_date', @date_type, '', '',
+ 'taxengine_request', 'text', 'NULL', '', '', '',
#void fields
'void_date', @date_type, '', '',
'quantity', 'int', 'NULL', '', '', '',
'hidden', 'char', 'NULL', 1, '', '',
'feepart', 'int', 'NULL', '', '', '',
+ 'billpkgnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'billpkgnum',
'unique' => [],
'startdate', @date_type, '', '',
'regionname', 'varchar', 'NULL', $char_d, '', '',
'detail', 'varchar', '', 255, '', '',
+ 'detailnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'detailnum',
'unique' => [],
'post_total', 'char', 'NULL', 1, '', '',
'type', 'char', 'NULL', 1, '', '',
'summary', 'char', 'NULL', 1, '', '',
+ 'billpkgdisplaynum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'billpkgdisplaynum',
'unique' => [],
'amount', @money_type, '', '',
'currency', 'char', 'NULL', 3, '', '',
'taxable_billpkgnum', 'int', 'NULL', '', '', '',
+ 'billpkgtaxlocationnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'billpkgtaxlocationnum',
'unique' => [],
'reason', 'varchar', 'NULL', $char_d, '', '',
'reasonnum', 'int', 'NULL', '', '', '',
'void_usernum', 'int', 'NULL', '', '', '',
+ 'billpkgnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'billpkgnum',
'unique' => [],
'startdate', @date_type, '', '',
'regionname', 'varchar', 'NULL', $char_d, '', '',
'detail', 'varchar', '', 255, '', '',
+ 'detailnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'detailnum',
'unique' => [],
'post_total', 'char', 'NULL', 1, '', '',
'type', 'char', 'NULL', 1, '', '',
'summary', 'char', 'NULL', 1, '', '',
+ 'billpkgdisplaynum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'billpkgdisplaynum',
'unique' => [],
'amount', @money_type, '', '',
'currency', 'char', 'NULL', 3, '', '',
'taxable_billpkgnum', 'int', 'NULL', '', '', '',
+ 'billpkgtaxlocationnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'billpkgtaxlocationnum',
'unique' => [],
'commission_salesnum', 'int', 'NULL', '', '', '', #
'commission_pkgnum', 'int', 'NULL', '', '', '', #
'commission_invnum', 'int', 'NULL', '', '', '',
- 'credbatch', 'varchar', 'NULL', $char_d, '', '',
+ 'credbatch', 'varchar', 'NULL', $char_d, '', '',
+ 'crednum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'crednum',
'unique' => [],
#void fields
'void_date', @date_type, '', '',
'void_reason', 'varchar', 'NULL', $char_d, '', '',
- 'void_reasonnum', 'int', 'NULL', '', '', '',
+ 'void_reasonnum', 'int', 'NULL', '', '', '',
'void_usernum', 'int', 'NULL', '', '', '',
+ 'crednum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'crednum',
'unique' => [],
'_date', @date_type, '', '',
'amount', @money_type, '', '',
'pkgnum', 'int', 'NULL', '', '', '', #desired pkgnum for pkg-balances
+ 'creditbillnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'creditbillnum',
'unique' => [],
'setuprecur', 'varchar', '', $char_d, '', '',
'sdate', @date_type, '', '',
'edate', @date_type, '', '',
+ 'creditbillpkgnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'creditbillpkgnum',
'unique' => [],
'ship_mobile', 'varchar', 'NULL', 12, '', '',
'currency', 'char', 'NULL', 3, '', '',
+ 'is_tokenized', 'char', 'NULL', '1', '', '',
+
'geocode', 'varchar', 'NULL', 20, '', '',
'censustract', 'varchar', 'NULL', 20, '', '', # 7 to save space?
'censusyear', 'char', 'NULL', 4, '', '',
'accountcode_cdr', 'char', 'NULL', 1, '', '',
'billday', 'int', 'NULL', '', '', '',
'prorate_day', 'int', 'NULL', '', '', '',
+ 'force_prorate_day', 'char', 'NULL', 1, '', '',
'edit_subject', 'char', 'NULL', 1, '', '',
'locale', 'varchar', 'NULL', 16, '', '',
'calling_list_exempt', 'char', 'NULL', 1, '', '',
'invoice_attn', 'varchar', 'NULL', $char_d, '', '',
'invoice_ship_address', 'char', 'NULL', 1, '', '',
'postal_invoice', 'char', 'NULL', 1, '', '',
+ 'paymentreceipt_noemail', 'char', 'NULL', 1, '', '',
],
'primary_key' => 'custnum',
'unique' => [ [ 'agentnum', 'agent_custid' ] ],
[ 'archived' ],
[ 'ship_locationnum' ],
[ 'bill_locationnum' ],
+ [ 'is_tokenized' ],
],
'foreign_keys' => [
{ columns => [ 'agentnum' ],
'paytype', 'varchar', 'NULL', $char_d, '', '',
'payip', 'varchar', 'NULL', 15, '', '',
'locationnum', 'int', 'NULL', '', '', '',
+ 'is_tokenized', 'char', 'NULL', 1, '', '',
],
'primary_key' => 'custpaybynum',
'unique' => [],
- 'index' => [ [ 'custnum' ] ],
+ 'index' => [ [ 'custnum' ], [ 'is_tokenized' ] ],
'foreign_keys' => [
{ columns => [ 'custnum' ],
table => 'cust_main',
'classnum', 'serial', '', '', '', '',
'classname', 'varchar', '', $char_d, '', '',
'disabled', 'char', 'NULL', 1, '', '',
+ 'classnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'classnum',
'unique' => [],
'classnum', 'int', 'NULL', '', '', '',
'comment', 'varchar', 'NULL', 255, '', '',
'selfservice_access', 'char', 'NULL', 1, '', '',
- 'invoice_dest', 'char', 'NULL', 1, '', '',
+ 'invoice_dest', 'char', 'NULL', 1, '', '', # Y or NULL
+ 'message_dest', 'char', 'NULL', 1, '', '', # Y or NULL
],
'primary_key' => 'custcontactnum',
'unique' => [ [ 'custnum', 'contactnum' ], ],
'_password_encoding', 'varchar', 'NULL', $char_d, '', '',
'disabled', 'char', 'NULL', 1, '', '',
'invoice_dest', 'char', 'NULL', 1, '', '',
+ 'contactnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'contactnum',
'unique' => [],
'phonenum', 'varchar', '', 14, '', '',
'extension', 'varchar', 'NULL', 7, '', '',
#?#'comment', 'varchar', '', $char_d, '', '',
+ 'contactphonenum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'contactphonenum',
'unique' => [],
'contactemailnum', 'serial', '', '', '', '',
'contactnum', 'int', '', '', '', '',
'emailaddress', 'varchar', '', $char_d, '', '',
+ 'contactemailnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'contactemailnum',
#'unique' => [ [ 'contactnum', 'emailaddress' ], ],
'quotation' => {
'columns' => [
#regular fields
- 'quotationnum', 'serial', '', '', '', '',
- 'prospectnum', 'int', 'NULL', '', '', '',
- 'custnum', 'int', 'NULL', '', '', '',
- '_date', @date_type, '', '',
- 'disabled', 'char', 'NULL', 1, '', '',
- 'usernum', 'int', 'NULL', '', '', '',
- 'close_date', @date_type, '', '',
- 'confidence', 'int', 'NULL', '', '', '',
+ 'quotationnum', 'serial', '', '', '', '',
+ 'prospectnum', 'int', 'NULL', '', '', '',
+ 'custnum', 'int', 'NULL', '', '', '',
+ '_date', @date_type, '', '',
+ 'disabled', 'char', 'NULL', 1, '', '',
+ 'usernum', 'int', 'NULL', '', '', '',
+ 'close_date', @date_type, '', '',
+ 'confidence', 'int', 'NULL', '', '', '',
+ 'quotation_description', 'varchar', 'NULL', '50', '', '',
#'total', @money_type, '', '',
#'quotation_term', 'varchar', 'NULL', $char_d, '', '',
],
'incorporated', 'char', 'NULL', 1, '', '',
'disabled', 'char', 'NULL', 1, '', '',
+ 'locationnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'locationnum',
'unique' => [],
'destnum', 'serial', '', '', '', '',
'custnum', 'int', '', '', '', '',
'dest', 'varchar', '', $char_d, '', '',
+ 'destnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'destnum',
'unique' => [],
'usernum', 'int', 'NULL', '', '', '',
'comments', 'text', 'NULL', '', '', '',
'sticky', 'int', '', '', 0, '',
+ 'notenum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'notenum',
'unique' => [],
'categorynum', 'serial', '', '', '', '',
'categoryname', 'varchar', '', $char_d, '', '',
'weight', 'int', 'NULL', '', '', '',
- 'disabled', 'char', 'NULL', 1, '', '',
+ 'disabled', 'char', 'NULL', 1, '', '',
+ 'categorynum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'categorynum',
'unique' => [],
'setuptax', 'char', 'NULL', 1, '', '', # Y = setup tax exempt
'recurtax', 'char', 'NULL', 1, '', '', # Y = recur tax exempt
'source', 'varchar', 'NULL', $char_d, '', '',
+ 'charge_prediscount', 'char', 'NULL', 1, '', '', # Y = charge this tax pre discount
],
'primary_key' => 'taxnum',
'unique' => [],
'taxratelocationnum', 'serial', '', '', '', '',
'data_vendor', 'varchar', 'NULL', $char_d, '', '',
'geocode', 'varchar', '', 20, '', '',
+ 'district', 'varchar', 'NULL', $char_d, '', '',
'city', 'varchar', 'NULL', $char_d, '', '',
'county', 'varchar', 'NULL', $char_d, '', '',
'state', 'char', 'NULL', 2, '', '',
'manual', 'char', 'NULL', 1, '', '',
'discount_term','int', 'NULL', '', '', '',
'failure_status','varchar','NULL', 16, '', '',
+ 'is_tokenized', 'char', 'NULL', 1, '', '',
],
'primary_key' => 'paypendingnum',
'unique' => [ [ 'payunique' ] ],
'index' => [ [ 'custnum' ], [ 'status' ],
['paynum'], ['void_paynum'], ['jobnum'], ['invnum'],
+ [ 'is_tokenized' ],
],
'foreign_keys' => [
{ columns => [ 'custnum' ],
'closed', 'char', 'NULL', 1, '', '',
'pkgnum', 'int', 'NULL', '', '', '', #desired pkgnum for pkg-balances
'no_auto_apply', 'char', 'NULL', 1, '', '',
-
+ 'is_tokenized', 'char', 'NULL', 1, '', '',
+
# cash/check deposit info fields
'bank', 'varchar', 'NULL', $char_d, '', '',
'depositor', 'varchar', 'NULL', $char_d, '', '',
'processor', 'varchar', 'NULL', $char_d, '', '', # module name
'auth', 'varchar', 'NULL', 16, '', '', # CC auth number
'order_number','varchar', 'NULL', 256, '', '', # transaction number
+ 'paynum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'paynum',
#i guess not now, with cust_pay_pending, if we actually make it here, we _do_ want to record it# 'unique' => [ [ 'payunique' ] ],
'index' => [ ['custnum'], ['paybatch'], ['payby'], ['_date'],
- ['usernum'],
+ ['usernum'], ['is_tokenized'],
],
'foreign_keys' => [
{ columns => [ 'custnum' ],
'paybatch', 'varchar', 'NULL', $char_d, '', '', #for auditing purposes.
'closed', 'char', 'NULL', 1, '', '',
'pkgnum', 'int', 'NULL', '', '', '', #desired pkgnum for pkg-balances
+ 'is_tokenized', 'char', 'NULL', 1, '', '',
# cash/check deposit info fields
'bank', 'varchar', 'NULL', $char_d, '', '',
'reason', 'varchar', 'NULL', $char_d, '', '',
'reasonnum', 'int', 'NULL', '', '', '',
'void_usernum', 'int', 'NULL', '', '', '',
+
+ 'paynum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'paynum',
'unique' => [],
- 'index' => [ ['custnum'], ['usernum'], ['void_usernum'] ],
+ 'index' => [ ['custnum'], ['usernum'], ['void_usernum'],
+ ['is_tokenized'],
+ ],
'foreign_keys' => [
{ columns => [ 'custnum' ],
table => 'cust_main',
'amount', @money_type, '', '',
'_date', @date_type, '', '',
'pkgnum', 'int', 'NULL', '', '', '', #desired pkgnum for pkg-balances
+ 'billpaynum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'billpaynum',
'unique' => [],
'setuprecur', 'varchar', '', $char_d, '', '',
'sdate', @date_type, '', '',
'edate', @date_type, '', '',
+ 'billpaypkgnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'billpaypkgnum',
'unique' => [],
'upload', @date_type, '', '',
'title', 'varchar', 'NULL',255, '', '',
'processor_id', 'varchar', 'NULL',255, '', '',
+ 'type', 'char', '', 6, 'DEBIT', '', # DEBIT/CREDIT
],
'primary_key' => 'batchnum',
'unique' => [],
'country', 'char', '', 2, '', '',
'payby', 'char', '', 4, '', '',
'payinfo', 'varchar', 'NULL', 512, '', '',
+ #'paymask', 'varchar', 'NULL', $char_d, '', '',
#'exp', @date_type, '', '',
'exp', 'varchar', 'NULL', 11, '', '',
'payname', 'varchar', 'NULL', $char_d, '', '',
'status', 'varchar', 'NULL', $char_d, '', '',
'failure_status','varchar', 'NULL', 16, '', '',
'error_message', 'varchar', 'NULL', $char_d, '', '',
+ 'paycode', 'varchar', 'NULL', $char_d, '', '',
],
'primary_key' => 'paybatchnum',
'unique' => [],
- 'index' => [ ['batchnum'], ['invnum'], ['custnum'] ],
+ 'index' => [ ['batchnum'], ['invnum'], ['custnum'],['status'] ],
'foreign_keys' => [
{ columns => [ 'batchnum' ],
table => 'pay_batch',
'pkgnum', 'int', '', '', '', '',
'optionname', 'varchar', '', $char_d, '', '',
'optionvalue', 'text', 'NULL', '', '', '',
+ 'optionnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'optionnum',
'unique' => [],
'detail', 'varchar', '', 2*$char_d, '', '',
'detailtype', 'char', '', 1, '', '', #"I"nvoice or "C"omment
'weight', 'int', '', '', '', '',
+ 'pkgdetailnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'pkgdetailnum',
'unique' => [],
'otaker', 'varchar', 'NULL', 32, '', '',
'usernum', 'int', 'NULL', '', '', '',
'date', @date_type, '', '',
+ 'num_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'num',
'unique' => [],
'usernum', 'int', 'NULL', '', '', '',
'disabled', 'char', 'NULL', 1, '', '',
'setuprecur', 'char', 'NULL', 5, '', '',
+ 'pkgdiscountnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'pkgdiscountnum',
'unique' => [],
'pkgdiscountnum', 'int', '', '', '', '',
'amount', @money_type, '', '',
'months', 'decimal', 'NULL', '7,4', '', '',
+ 'billpkgdiscountnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'billpkgdiscountnum',
'unique' => [],
'pkgdiscountnum', 'int', '', '', '', '',
'amount', @money_type, '', '',
'months', 'decimal', 'NULL', '7,4', '', '',
+ 'billpkgdiscountnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'billpkgdiscountnum',
'unique' => [],
'disabled', 'char', 'NULL', 1, '', '',
'setup', 'char', 'NULL', 1, '', '',
#'linked', 'char', 'NULL', 1, '', '',
+ 'discountnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'discountnum',
'unique' => [],
'classname', 'varchar', '', $char_d, '', '',
#'categorynum', 'int', 'NULL', '', '', '',
'disabled', 'char', 'NULL', 1, '', '',
+ 'classnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'classnum',
'unique' => [],
'processor', 'varchar', 'NULL', $char_d, '', '', # module name
'auth', 'varchar','NULL',16, '', '', # CC auth number
'order_number', 'varchar','NULL',$char_d, '', '', # transaction number
+ 'is_tokenized', 'char', 'NULL', 1, '', '',
+ 'refundnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'refundnum',
'unique' => [],
- 'index' => [ ['custnum'], ['_date'], [ 'usernum' ], ],
+ 'index' => [ ['custnum'], ['_date'], [ 'usernum' ], ['is_tokenized'] ],
'foreign_keys' => [
{ columns => [ 'custnum' ],
table => 'cust_main',
'refundnum', 'int', '', '', '', '',
'amount', @money_type, '', '',
'_date', @date_type, '', '',
+ 'creditrefundnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'creditrefundnum',
'unique' => [],
'svcpart', 'int', '', '', '', '',
'agent_svcid', 'int', 'NULL', '', '', '',
'overlimit', @date_type, '', '',
+ 'svcnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'svcnum',
'unique' => [],
'columns' => [
'pkgpart', 'serial', '', '', '', '',
'pkgpartbatch', 'varchar', 'NULL', $char_d, '', '',
- 'pkg', 'varchar', '', $char_d, '', '',
+ 'pkg', 'varchar', '', 104, '', '',
'comment', 'varchar', 'NULL', 2*$char_d, '', '',
'promo_code', 'varchar', 'NULL', $char_d, '', '',
'freq', 'varchar', '', $char_d, '', '', #billing frequency
'adjourn_months', 'int', 'NULL', '', '', '',
'contract_end_months','int','NULL', '', '', '',
'change_to_pkgpart', 'int', 'NULL', '', '', '',
+ 'units_taxproductnum','int','NULL', '', '', '',
],
'primary_key' => 'pkgpart',
'unique' => [],
{ columns => [ 'taxproductnum' ],
table => 'part_pkg_taxproduct',
},
+ { columns => [ 'units_taxproductnum' ],
+ table => 'part_pkg_taxproduct',
+ references => [ 'taxproductnum' ],
+ },
{ columns => [ 'agentnum' ],
table => 'agent',
},
'hidden', 'char', 'NULL', 1, '', '',
'bulk_skip', 'char', 'NULL', 1, '', '',
'provision_hold', 'char', 'NULL', 1, '', '',
+ 'pkgsvcnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'pkgsvcnum',
'unique' => [ ['pkgpart', 'svcpart'] ],
'disabled', 'char', 'NULL', 1, '', '',
'agentnum', 'int', 'NULL', '', '', '',
'title', 'varchar', 'NULL', $char_d, '', '',
+ 'refnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'refnum',
'unique' => [ ['agentnum', 'title'] ],
'classnum', 'int', 'NULL', '', '', '',
'restrict_edit_password','char', 'NULL', 1, '', '',
'has_router', 'char', 'NULL', 1, '', '',
+ 'svcpart_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'svcpart',
'unique' => [],
'columnvalue', 'varchar', 'NULL', 512, '', '',
'columnflag', 'char', 'NULL', 1, '', '',
'required', 'char', 'NULL', 1, '', '',
+ 'columnnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'columnnum',
'unique' => [ [ 'svcpart', 'columnname' ] ],
'columns' => [
'classnum', 'serial', '', '', '', '',
'classname', 'varchar', '', $char_d, '', '',
- 'disabled', 'char', 'NULL', 1, '', '',
+ 'disabled', 'char', 'NULL', 1, '', '',
+ 'classnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'classnum',
'unique' => [],
'svc_acct' => {
'columns' => [
'svcnum', 'int', '', '', '', '',
+ 'svcnum_import', 'int', 'NULL', '', '', '',
'username', 'varchar', '', $username_len, '', '',
'_password', 'varchar', 'NULL', 512, '', '',
'_password_encoding', 'varchar', 'NULL', $char_d, '', '',
'svc_domain' => {
'columns' => [
'svcnum', 'int', '', '', '', '',
+ 'svcnum_import', 'int', 'NULL', '', '', '',
'domain', 'varchar', '', $char_d, '', '',
'suffix', 'varchar', 'NULL', $char_d, '', '',
'catchall', 'int', 'NULL', '', '', '',
'note', 'text', 'NULL', '', '', '',
],
'primary_key' => 'svcnum',
- 'unique' => [],
+ 'unique' => [ ['typenum', 'serial'], ['ip_addr'], ['hw_addr'] ],
'index' => [],
'foreign_keys' => [
{ columns => [ 'svcnum' ],
'export_svc' => {
'columns' => [
- 'exportsvcnum' => 'serial', '', '', '', '',
- 'exportnum' => 'int', '', '', '', '',
- 'svcpart' => 'int', '', '', '', '',
- 'role' => 'varchar', 'NULL', 16, '', '',
+ 'exportsvcnum', 'serial', '', '', '', '',
+ 'exportnum', 'int', '', '', '', '',
+ 'svcpart', 'int', '', '', '', '',
+ 'role', 'varchar', 'NULL', 16, '', '',
+ 'exportsvcnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'exportsvcnum',
'unique' => [ [ 'exportnum', 'svcpart' ] ],
'default_machine','int', 'NULL', '', '', '',
'no_suspend', 'char', 'NULL', 1, '', '',
# could also have 'no_insert', 'no_replace', etc.
+ 'exportnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'exportnum',
'unique' => [],
'exportnum', 'int', '', '', '', '',
'optionname', 'varchar', '', $char_d, '', '',
'optionvalue', 'text', 'NULL', '', '', '',
+ 'optionnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'optionnum',
'unique' => [],
'svcnum', 'int', '', '', '', '',
'groupname', 'varchar', 'NULL', $char_d, '', '', #deprecated
'groupnum', 'int', 'NULL', '', '', '',
+ 'usergroupnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'usergroupnum',
'unique' => [],
'priority', 'int', '', '', '1', '',
'speed_up', 'int', 'NULL', '', '', '',
'speed_down', 'int', 'NULL', '', '', '',
+ 'groupnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'groupnum',
'unique' => [ ['groupname'] ],
'svc_broadband' => {
'columns' => [
'svcnum', 'int', '', '', '', '',
+ 'svcnum_import', 'int', 'NULL', '', '', '',
'description', 'varchar', 'NULL', $char_d, '', '',
'routernum', 'int', 'NULL', '', '', '',
'blocknum', 'int', 'NULL', '', '', '',
'suid', 'int', 'NULL', '', '', '',
'shared_svcnum', 'int', 'NULL', '', '', '',
'serviceid', 'varchar', 'NULL', 64, '', '',#srvexport/reportfields
+ 'speed_test_up', 'int', 'NULL', '', '', '',
+ 'speed_test_down', 'int', 'NULL', '', '', '',
+ 'speed_test_latency', 'int', 'NULL', '', '', '',
],
'primary_key' => 'svcnum',
'unique' => [ [ 'ip_addr' ], [ 'mac_addr' ] ],
'height', 'decimal', 'NULL', '', '', '',
'veg_height', 'decimal', 'NULL', '', '', '',
'color', 'varchar', 'NULL', 6, '', '',
+ 'up_rate_limit', 'int', 'NULL', '', '', '',
+ 'down_rate_limit', 'int', 'NULL', '', '', '',
],
'primary_key' => 'towernum',
'unique' => [ [ 'towername' ] ], # , 'agentnum' ] ],
'east', 'decimal', 'NULL', '10,7', '', '',
'south', 'decimal', 'NULL', '10,7', '', '',
'north', 'decimal', 'NULL', '10,7', '', '',
-
'title', 'varchar', 'NULL', $char_d,'', '',
+ 'up_rate_limit', 'int', 'NULL', '', '', '',
+ 'down_rate_limit', 'int', 'NULL', '', '', '',
],
'primary_key' => 'sectornum',
'unique' => [ [ 'towernum', 'sectorname' ], [ 'ip_addr' ], ],
'refundnum', 'int', '', '', '', '',
'_date', @date_type, '', '',
'amount', @money_type, '', '',
+ 'payrefundnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'payrefundnum',
'unique' => [],
'pkgpart', 'int', '', '', '', '',
'optionname', 'varchar', '', $char_d, '', '',
'optionvalue', 'text', 'NULL', '', '', '',
+ 'optionnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'optionnum',
'unique' => [],
'fccoptionname', 'varchar', '', $char_d, '', '',
'pkgpart', 'int', '', '', '', '',
'optionvalue', 'varchar', 'NULL', $char_d, '', '',
+ 'num_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'num',
'unique' => [ [ 'fccoptionname', 'pkgpart' ] ],
'rate' => {
'columns' => [
- 'ratenum', 'serial', '', '', '', '',
- 'ratename', 'varchar', '',$char_d, '', '',
- 'agentnum', 'int', 'NULL', '', '', '',
- 'default_detailnum', 'int', 'NULL', '', '', '',
+ 'ratenum', 'serial', '', '', '', '',
+ 'ratename', 'varchar', '', $char_d, '', '',
+ 'agentnum', 'int', 'NULL', '', '', '',
+ 'default_detailnum', 'int', 'NULL', '', '', '',
+ 'agent_rateid', 'varchar', 'NULL', $char_d, '', '',
],
'primary_key' => 'ratenum',
- 'unique' => [],
+ 'unique' => [ ['agentnum','agent_rateid'], ],
'index' => [],
'foreign_keys' => [
{ columns => [ 'agentnum' ],
'regionnum', 'serial', '', '', '', '',
'regionname', 'varchar', '', $char_d, '', '',
'exact_match', 'char', 'NULL', 1, '', '',
+ 'agent_regionid', 'varchar', 'NULL', $char_d, '', '',
],
'primary_key' => 'regionnum',
'unique' => [],
- 'index' => [],
+ 'index' => [ ['agent_regionid'] ],
},
'rate_prefix' => {
'ocn', 'char', 'NULL', 4, '', '',
],
'primary_key' => 'prefixnum',
- 'unique' => [],
+ 'unique' => [ [ 'countrycode', 'npa', 'nxx' ] ],
'index' => [ [ 'countrycode' ], [ 'npa' ], [ 'regionnum' ] ],
'foreign_keys' => [
{ columns => [ 'regionnum' ],
'ticketing_queueid', 'int', 'NULL', '', '', '',
'condense', 'char', 'NULL', 1, '', '',
'disabled', 'char', 'NULL', 1, '', '',
+ 'categorunum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'categorynum',
'unique' => [],
'categorynum', 'int', 'NULL', '', '', '',
'disabled', 'char', 'NULL', 1, '', '',
'fcc_ds0s', 'int', 'NULL', '', '', '',
+ 'classnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'classnum',
'unique' => [],
#NULL, done (or something)
'freesidestatus', 'varchar', 'NULL', 32, '', '',
+ #additional status info (i.e. reason for "skipped" freesidestatus)
+ 'freesidestatustext', 'text', 'NULL', '', '', '',
+
#NULL, done (or something)
'freesiderewritestatus', 'varchar', 'NULL', 32, '', '',
'sessionnum', 'int', 'NULL', '', '', '',
'subscriber', 'varchar', 'NULL', $char_d, '', '',
- #old
- 'cdrbatch', 'varchar', 'NULL', 255, '', '',
- #new
'cdrbatchnum', 'int', 'NULL', '', '', '',
# FK to cust_bill_pkg_detail; having a value here absolutely means
# that the CDR appears on an invoice
'detailnum', 'bigint', 'NULL', '', '', '',
+
+ #for mediation/deduplication
+ 'sipcallid', 'varchar', 'NULL', 255, '', '',
],
'primary_key' => 'acctid',
'unique' => [],
'index' => [ [ 'calldate' ],
[ 'src' ], [ 'dst' ], [ 'dcontext' ], [ 'charged_party' ],
+ [ 'startdate' ], [ 'duration' ],
+ [ 'cdrtypenum' ], [ 'calltypenum' ],
[ 'lastapp' ],
['accountcode'], ['uniqueid'], ['carrierid'], ['cdrid'],
[ 'sessionnum' ], [ 'subscriber' ],
[ 'freesidestatus' ], [ 'freesiderewritestatus' ],
- [ 'cdrbatch' ], [ 'cdrbatchnum' ],
+ [ 'cdrbatchnum' ],
[ 'src_ip_addr' ], [ 'dst_ip_addr' ], [ 'dst_term' ],
- [ 'detailnum' ],
+ [ 'detailnum' ], [ 'sipcallid' ],
],
#no FKs on cdr table... choosing not to throw errors no matter what's
# thrown in here. better to have the data.
],
},
+ 'access_user_session_log' => {
+ 'columns' => [
+ 'sessionlognum', 'serial', '', '', '', '',
+ 'usernum', 'int', '', '', '', '',
+ 'start_date', @date_type, '', '',
+ 'last_date', @date_type, '', '',
+ 'logout_date', @date_type, '', '',
+ 'logout_type', 'varchar', '', $char_d, '', '',
+ ],
+ 'primary_key' => 'sessionlognum',
+ 'unique' => [],
+ 'index' => [],
+ 'foreign_keys' => [
+ { columns => [ 'usernum' ],
+ table => 'access_user',
+ },
+ ],
+ },
+
'access_user' => {
'columns' => [
'usernum', 'serial', '', '', '', '',
'access_group' => {
'columns' => [
- 'groupnum', 'serial', '', '', '', '',
- 'groupname', 'varchar', '', $char_d, '', '',
+ 'groupnum', 'serial', '', '', '', '',
+ 'groupname', 'varchar', '', $char_d, '', '',
+ 'session_timeout', 'int', 'NULL', '', '', '',
],
'primary_key' => 'groupnum',
'unique' => [ [ 'groupname' ] ],
'path', 'varchar', '', 2*$char_d, '', '',
'_date', @date_type, '', '',
'render_seconds', 'int', 'NULL', '', '', '',
+ 'pid', 'int', 'NULL', '', '', '',
],
'primary_key' => 'lognum',
'unique' => [],
'lnp_other_provider', 'varchar', 'NULL', $char_d, '', '',
'lnp_other_provider_account', 'varchar', 'NULL', $char_d, '', '',
'lnp_reject_reason', 'varchar', 'NULL', $char_d, '', '',
+ 'lnp_portid', 'varchar', 'NULL', $char_d, '', '',
+ 'lnp_signature', 'char', 'NULL', 1, '', '',
+ 'lnp_bill', 'char', 'NULL', 1, '', '',
'sms_carrierid', 'int', 'NULL', '', '', '',
'sms_account', 'varchar', 'NULL', $char_d, '', '',
'max_simultaneous', 'int', 'NULL', '', '', '',
'typenum', 'serial', '', '', '', '',
'class', 'char', '', 1, '', '',
'type', 'varchar', '', $char_d, '', '',
+ 'typenum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'typenum',
'unique' => [],
'feepart', 'int', 'NULL', '', '', '',
'fee_on_unsuspend','char', 'NULL', 1, '', '',
'fee_hold', 'char', 'NULL', 1, '', '',
+ 'reasonnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'reasonnum',
'unique' => [],
'pkgrefnum', 'serial', '', '', '', '',
'pkgnum', 'int', '', '', '', '',
'refnum', 'int', '', '', '', '',
+ 'pkgrefnum_import', 'int', 'NULL', '', '', '',
],
'primary_key' => 'pkgrefnum',
'unique' => [ [ 'pkgnum', 'refnum' ] ],
'mac_addr', 'varchar', 'NULL', 12, '', '',
],
'primary_key' => 'svcnum',
- 'unique' => [ ['serialnum'] , ['mac_addr'] ],
+ 'unique' => [ ['modelnum', 'serialnum'] , ['mac_addr'] ],
'index' => [],
'foreign_keys' => [
{ columns => [ 'svcnum' ],
'vendor_order_status', 'varchar', 'NULL', $char_d, '', '',
'endpoint_ip_addr', 'varchar', 'NULL', 40, '', '',
'endpoint_mac_addr', 'varchar', 'NULL', 12, '', '',
+ 'internal_circuit_id', 'varchar', 'NULL', 64, '', '',
],
'primary_key' => 'svcnum',
'unique' => [],
'is_business', 'char', 'NULL', 1, '', '',
'active_date', @date_type, '', '',
'expire_date', @date_type, '', '',
+ 'disabled', 'char', 'NULL', 1, '', '',
],
'primary_key' => 'zonenum',
'unique' => [],
'foreign_keys' => [],
},
+ 'realestate_unit' => {
+ 'columns' => [
+ 'realestatenum', 'serial', '', '', '', '',
+ 'realestatelocnum', 'int', '', '', '', '',
+ 'agentnum', 'int', 'NULL', '', '', '',
+ 'unit_title', 'varchar', '', $char_d, '', '',
+ 'disabled', 'char', 'NULL', 1, '', '',
+ ],
+ 'primary_key' => 'realestatenum',
+ 'unique' => [ ['unit_title'] ],
+ 'index' => [
+ ['agentnum'],
+ ['realestatelocnum'],
+ ['disabled'],
+ ['unit_title'],
+ ],
+ 'foreign_keys' => [
+ {columns => ['agentnum'], table => 'agent'},
+ {columns => ['realestatelocnum'] => table => 'realestate_location'},
+ ],
+ },
+
+ 'realestate_location' => {
+ 'columns' => [
+ 'realestatelocnum', 'serial', '', '', '', '',
+ 'agentnum', 'int', 'NULL', '', '', '',
+ 'location_title', 'varchar', '', $char_d, '', '',
+ 'address1', 'varchar', 'NULL', $char_d, '', '',
+ 'address2', 'varchar', 'NULL', $char_d, '', '',
+ 'city', 'varchar', 'NULL', $char_d, '', '',
+ 'state', 'varchar', 'NULL', $char_d, '', '',
+ 'zip', 'char', 'NULL', 5, '', '',
+ 'disabled', 'char', 'NULL', 1, '', '',
+ ],
+ 'primary_key' => 'realestatelocnum',
+ 'unique' => [ ['location_title'] ],
+ 'index' => [ ['agentnum'], ['disabled'] ],
+ 'foreign_keys' => [
+ {columns => ['agentnum'], table => 'agent'},
+ ],
+ },
+
+ 'svc_realestate' => {
+ 'columns' => [
+ 'svcnum', 'serial', '', '', '', '',
+ 'realestatenum', 'int', 'NULL', '', '', '',
+ ],
+ 'primary_key' => 'svcnum',
+ 'index' => [],
+ },
+
+ 'svc_group' => {
+ 'columns' => [
+ 'svcnum', 'int', '', '', '', '',
+ 'max_accounts', 'int', '', '', '', '',
+ ],
+ 'primary_key' => 'svcnum',
+ 'unique' => [],
+ 'index' => [],
+ 'foreign_keys' => [
+ { columns => [ 'svcnum' ],
+ table => 'cust_svc',
+ },
+ ],
+ },
+
+
# name type nullability length default local
#'new_table' => {
=cut
1;
-