grep { ! /^(clientapi|access_user)_session/
&& ! /^h_/
&& ! /^log(_context)?$/
- && ( ! /^queue(_arg)?$/ || ! $opt->{'queue-no_history'} )
+ && ( ! /^queue(_arg|_depend|_stat)?$/ || ! $opt->{'queue-no_history'} )
&& ! $tables_hashref_torrus->{$_}
}
$dbdef->tables
],
});
+ #necessary for queries that want to look at *who* made changes
+ $h_indices{"h_${table}_usernum"} =
+ DBIx::DBSchema::Index->new({
+ 'name' => "h_${table}_usernum",
+ 'unique' => 0,
+ 'columns' => [ 'history_usernum'],
+ });
+
+ # necessary because of the evil OR username for older data, be really nice if everything was just migrated to usernum and we could drop username
+ # This will not be helpful to mysql, but postgres smartly does a bitmap across both indexes, mysql will just use one
+
+ $h_indices{"h_${table}_user"} =
+ DBIx::DBSchema::Index->new({
+ 'name' => "h_${table}_user",
+ 'unique' => 0,
+ 'columns' => [ 'history_user'],
+ });
}
my $primary_key_col = $tableobj->column($tableobj->primary_key)
my $char_d = 80; #default maxlength for text fields
#my(@date_type) = ( 'timestamp', '', '' );
- my @date_type = ( 'int', 'NULL', '' );
+ my @date_type = ( 'int', 'NULL', '' );
my @perl_type = ( 'text', 'NULL', '' );
my @money_type = ( 'decimal', '', '10,2' );
my @money_typen = ( 'decimal', 'NULL', '10,2' );
'agent_type' => {
'columns' => [
- 'typenum', 'serial', '', '', '', '',
- 'atype', 'varchar', '', $char_d, '', '',
+ 'typenum', 'serial', '', '', '', '',
+ 'atype', 'varchar', '', $char_d, '', '',
+ 'disabled', 'char', 'NULL', 1, '', '',
],
'primary_key' => 'typenum',
'unique' => [],
- 'index' => [],
+ 'index' => [ ['disabled'] ],
},
'type_pkgs' => {
'invoice_terms', 'varchar', 'NULL', $char_d, '', '',
#customer balance info at invoice generation time
+ #(deprecated)
'previous_balance', @money_typen, '', '', #eventually not nullable
'billing_balance', @money_typen, '', '', #eventually not nullable
'statementnum', 'int', 'NULL', '', '', '', #invoice aggregate statements
'agent_invid', 'int', 'NULL', '', '', '', #(varchar?) importing legacy
'promised_date', @date_type, '', '',
+
+ 'pending', 'char', 'NULL', 1, '', '',
],
'primary_key' => 'invnum',
'unique' => [ [ 'custnum', 'agent_invid' ] ], #agentnum? huh
'cust_bill_pkg_detail' => {
'columns' => [
'detailnum', 'serial', '', '', '', '',
+ # bigserial? this table will eventually be as big as cdr...
'billpkgnum', 'int', 'NULL', '', '', '', # should not be nullable
'pkgnum', 'int', 'NULL', '', '', '', # deprecated
'invnum', 'int', 'NULL', '', '', '', # deprecated
'classnum', 'int', 'NULL', '', '', '',
'duration', 'int', 'NULL', '', 0, '',
'phonenum', 'varchar', 'NULL', 255, '', '', # has to hold a service label
- 'accountcode', 'varchar', 'NULL', 20, '', '',
+ 'accountcode', 'varchar', 'NULL', 32, '', '',
'startdate', @date_type, '', '',
'regionname', 'varchar', 'NULL', $char_d, '', '',
- 'detail', 'varchar', '', 255, '', '',
+ 'detail', 'varchar', '', 255, '', '',
],
'primary_key' => 'detailnum',
'unique' => [],
'classnum', 'int', 'NULL', '', '', '',
'duration', 'int', 'NULL', '', 0, '',
'phonenum', 'varchar', 'NULL', 255, '', '',
- 'accountcode', 'varchar', 'NULL', 20, '', '',
+ 'accountcode', 'varchar', 'NULL', 32, '', '',
'startdate', @date_type, '', '',
'regionname', 'varchar', 'NULL', $char_d, '', '',
'detail', 'varchar', '', 255, '', '',
],
},
+ 'cust_credit_source_bill_pkg' => {
+ 'columns' => [
+ 'creditsourcebillpkgnum', 'serial', '', '', '', '',
+ 'crednum', 'int', '', '', '', '',
+ 'billpkgnum', 'int', '', '', '', '',
+ 'amount', @money_type, '', '',
+ 'currency', 'char', 'NULL', 3, '', '',
+ ],
+ 'primary_key' => 'creditsourcebillpkgnum',
+ 'unique' => [],
+ 'index' => [ ['crednum'], ['billpkgnum'] ],
+ 'foreign_keys' => [
+ { columns => ['billpkgnum'],
+ table => 'cust_bill_pkg',
+ },
+ { columns => ['crednum'],
+ table => 'cust_credit',
+ },
+ ],
+ },
+
'cust_main' => {
'columns' => [
'custnum', 'serial', '', '', '', '',
'stateid_state', 'varchar', 'NULL', $char_d, '', '',
'national_id', 'varchar', 'NULL', $char_d, '', '',
'birthdate' ,@date_type, '', '',
- 'spouse_birthdate' ,@date_type, '', '',
- 'anniversary_date' ,@date_type, '', '',
+ 'spouse_last', 'varchar', 'NULL', 2*$char_d, '', '',
+ 'spouse_first', 'varchar', 'NULL', $char_d, '', '',
+ 'spouse_birthdate', @date_type, '', '',
+ 'anniversary_date', @date_type, '', '',
'signupdate',@date_type, '', '',
'dundate', @date_type, '', '',
'company', 'varchar', 'NULL', $char_d, '', '',
'message_noemail', 'char', 'NULL', 1, '', '',
'bill_locationnum', 'int', 'NULL', '', '', '',
'ship_locationnum', 'int', 'NULL', '', '', '',
+ 'taxstatusnum', 'char', 'NULL', 32, '', '',
],
'primary_key' => 'custnum',
'unique' => [ [ 'agentnum', 'agent_custid' ] ],
[ 'referral_custnum' ],
[ 'payby' ], [ 'paydate' ],
[ 'archived' ],
+ [ 'ship_locationnum' ],
+ [ 'bill_locationnum' ],
],
'foreign_keys' => [
{ columns => [ 'agentnum' ],
'weight', 'int', '', '', '', '',
'payby', 'char', '', 4, '', '',
'payinfo', 'varchar', 'NULL', 512, '', '',
+ 'cardtype', 'varchar', 'NULL', $char_d, '', '',
'paycvv', 'varchar', 'NULL', 512, '', '',
'paymask', 'varchar', 'NULL', $char_d, '', '',
#'paydate', @date_type, '', '',
'add_date', @date_type, '', '',
'disabled', 'char', 'NULL', 1, '', '',
'custnum', 'int', 'NULL', '', '', '',
+ 'refnum', 'int', 'NULL', '', '', '',
],
'primary_key' => 'prospectnum',
'unique' => [],
- 'index' => [ [ 'company' ], [ 'agentnum' ], [ 'disabled' ] ],
+ 'index' => [ ['company'], ['agentnum'], ['disabled'], ['refnum'] ],
'foreign_keys' => [
{ columns => [ 'agentnum' ],
table => 'agent',
{ columns => [ 'custnum' ],
table => 'cust_main',
},
+ { columns => [ 'refnum' ],
+ table => 'part_referral',
+ },
],
},
],
'primary_key' => 'quotationnum',
'unique' => [],
- 'index' => [ [ 'prospectnum' ], ['custnum'], ],
+ 'index' => [ [ 'prospectnum' ], ['custnum'], ['disabled'], ],
'foreign_keys' => [
{ columns => [ 'prospectnum' ],
table => 'prospect_main',
'locationnum', 'serial', '', '', '', '',
'prospectnum', 'int', 'NULL', '', '', '',
'custnum', 'int', 'NULL', '', '', '',
+ 'locationname', 'varchar', 'NULL', $char_d, '', '',
'address1', 'varchar', '', $char_d, '', '',
'address2', 'varchar', 'NULL', $char_d, '', '',
'city', 'varchar', '', $char_d, '', '',
'location_type', 'varchar', 'NULL', 20, '', '',
'location_number', 'varchar', 'NULL', 20, '', '',
'location_kind', 'char', 'NULL', 1, '', '',
+ 'incorporated', 'char', 'NULL', 1, '', '',
'disabled', 'char', 'NULL', 1, '', '',
],
'primary_key' => 'locationnum',
'geocode', 'varchar', 'NULL', $char_d, '', '',#cch provides 10 char
'data_vendor', 'varchar', 'NULL', $char_d, '', '',#auto update source
'location', 'varchar', 'NULL', $char_d, '', '',#provided by tax authority
- 'taxclassnum', 'int', '', '', '', '',
+ 'taxclassnum', 'int', 'NULL', '', '', '',
'effective_date', @date_type, '', '',
'tax', @taxrate_type, '', '', # tax %
'excessrate', @taxrate_typen, '', '', # second tax %
'city', 'varchar', 'NULL', $char_d, '', '',
'county', 'varchar', 'NULL', $char_d, '', '',
'state', 'char', 'NULL', 2, '', '',
+ 'country', 'char', 'NULL', 2, '', '',
'disabled', 'char', 'NULL', 1, '', '',
],
'primary_key' => 'taxratelocationnum',
'city', 'varchar', 'NULL', $char_d, '', '',
'postalcity', 'varchar', 'NULL', $char_d, '', '',
'county', 'varchar', 'NULL', $char_d, '', '',
- 'zip', 'char', '', 5, '', '',
+ 'zip', 'char', 'NULL', 5, '', '',
'state', 'char', '', 2, '', '',
+ 'country', 'char', 'NULL', 2, '', '', # should not actually be NULL, but cch...
+ 'ziphi', 'char', 'NULL', 10, '', '',
+ 'ziplo', 'char', 'NULL', 10, '', '',
'plus4hi', 'char', 'NULL', 4, '', '',
'plus4lo', 'char', 'NULL', 4, '', '',
'default_location','char', 'NULL', 1, '', '', # Y = default for zip
],
'primary_key' => 'custlocationnum',
'unique' => [],
- 'index' => [ [ 'zip', 'plus4lo', 'plus4hi' ] ],
+ 'index' => [ [ 'zip', 'plus4lo', 'plus4hi', 'ziphi', 'ziplo' ] ],
},
'tax_class' => {
'index' => [],
},
+ 'tax_status' => {
+ 'columns' => [
+ 'taxstatusnum', 'serial', '', '', '', '',
+ 'data_vendor', 'varchar', 'NULL', $char_d, '', '',
+ 'taxstatus', 'varchar', '', $char_d, '', '',
+ 'description', 'varchar', '', $char_d, '', '',
+ ],
+ 'primary_key' => 'taxstatusnum',
+ 'unique' => [ [ 'data_vendor', 'taxstatus' ] ],
+ 'index' => [],
+ },
+
'cust_pay_pending' => {
'columns' => [
'paypendingnum', 'serial', '', '', '', '',
'pkgnum', 'int', 'NULL', '', '', '', #desired pkgnum for pkg-balances
'status', 'varchar', '', $char_d, '', '',
- 'session_id', 'varchar', 'NULL', $char_d, '', '', #only need 32
+ 'session_id', 'varchar', 'NULL', 1024, '', '', # SHA-512-hex
'statustext', 'text', 'NULL', '', '', '',
'gatewaynum', 'int', 'NULL', '', '', '',
#'cust_balance', @money_type, '', '',
],
'primary_key' => 'paypendingnum',
'unique' => [ [ 'payunique' ] ],
- 'index' => [ [ 'custnum' ], [ 'status' ], ],
+ 'index' => [ [ 'custnum' ], [ 'status' ],
+ ['paynum'], ['void_paynum'], ['jobnum'], ['invnum'],
+ ],
'foreign_keys' => [
{ columns => [ 'custnum' ],
table => 'cust_main',
'manual_flag', 'char', 'NULL', 1, '', '',
'no_auto', 'char', 'NULL', 1, '', '',
'quantity', 'int', 'NULL', '', '', '',
- 'agent_pkgid', 'int', 'NULL', '', '', '',
+ 'agent_pkgid', 'varchar', 'NULL', $char_d, '', '',
'waive_setup', 'char', 'NULL', 1, '', '',
'recur_show_zero', 'char', 'NULL', 1, '', '',
'setup_show_zero', 'char', 'NULL', 1, '', '',
'index' => [ ['custnum'], ['pkgpart'], ['pkgbatch'],
['locationnum'], ['usernum'], ['agent_pkgid'],
['order_date'], [ 'start_date' ], ['setup'], ['bill'],
- ['last_bill'], ['susp'], ['adjourn'], ['cancel'],
- ['expire'], ['contract_end'], ['change_date'],
+ ['last_bill'], ['susp'], ['adjourn'], ['resume'],
+ ['cancel'], ['expire'], ['contract_end'],
+ ['change_date'],
['no_auto'],
+ #['contactnum'],
+ ['salesnum'],
+ #['uncancel_pkgnum'],
+ #['change_pkgnum'], ['change_locationnum'],
+ #['change_custnum'],
+ ['main_pkgnum'],
+ #['pkglinknum'], ['change_to_pkgnum'],
],
'foreign_keys' => [
{ columns => [ 'custnum' ],
'columns' => [
'pkgusagenum', 'serial', '', '', '', '',
'pkgnum', 'int', '', '', '', '',
- 'minutes', 'int', '', '', '', '',
+ 'minutes', 'double precision', '', '', '', '',
'pkgusagepart', 'int', '', '', '', '',
],
'primary_key' => 'pkgusagenum',
'cdrusagenum', 'bigserial', '', '', '', '',
'acctid', 'bigint', '', '', '', '',
'pkgusagenum', 'int', '', '', '', '',
- 'minutes', 'int', '', '', '', '',
+ 'minutes', 'double precision', '', '', '', '',
],
'primary_key' => 'cdrusagenum',
'unique' => [],
'part_pkg' => {
'columns' => [
'pkgpart', 'serial', '', '', '', '',
+ 'pkgpartbatch', 'varchar', 'NULL', $char_d, '', '',
'pkg', 'varchar', '', $char_d, '', '',
'comment', 'varchar', 'NULL', 2*$char_d, '', '',
'promo_code', 'varchar', 'NULL', $char_d, '', '',
'successor', 'int', 'NULL', '', '', '',
'family_pkgpart','int', 'NULL', '', '', '',
'delay_start', 'int', 'NULL', '', '', '',
+ 'start_on_hold', 'char', 'NULL', 1, '', '',
'agent_pkgpartid', 'varchar', 'NULL', 20, '', '',
],
'primary_key' => 'pkgpart',
'data_vendor', 'varchar', 'NULL', $char_d, '', '',
'taxproduct', 'varchar', '', $char_d, '', '',
'description', 'varchar', '', 3*$char_d, '', '',
+ 'note', 'text', 'NULL', '', '', '',
],
'primary_key' => 'taxproductnum',
'unique' => [ [ 'data_vendor', 'taxproduct' ] ],
'suffix', 'varchar', 'NULL', $char_d, '', '',
'catchall', 'int', 'NULL', '', '', '',
'parent_svcnum', 'int', 'NULL', '', '', '',
+ 'quota', 'varchar', 'NULL', $char_d, '', '',
+
+ #registration info
'registrarnum', 'int', 'NULL', '', '', '',
'registrarkey', 'varchar', 'NULL', 512, '', '',
'setup_date', @date_type, '', '',
'renewal_interval', 'int', 'NULL', '', '', '',
'expiration_date', @date_type, '', '',
+
+ #some weird shit australia-specific shit? yuck.. seems totally unused
'au_registrant_name', 'varchar', 'NULL', $char_d, '', '',
'au_eligibility_type', 'varchar', 'NULL', $char_d, '', '',
+
#communigate pro fields (quota = MaxAccountSize)
'max_accounts', 'int', 'NULL', '', '', '',
'trailer', 'text', 'NULL', '', '', '',
'cgp_aliases', 'varchar', 'NULL', 255, '', '',
'cgp_accessmodes','varchar','NULL', 255, '', '', #DomainAccessModes
'cgp_certificatetype','varchar','NULL', $char_d, '', '',
- #settings
+
+ #(account default) settings
'acct_def_password_selfchange', 'char', 'NULL', 1, '', '',
'acct_def_password_recover', 'char', 'NULL', 1, 'Y', '',
'acct_def_cgp_accessmodes', 'varchar', 'NULL', 255, '', '',
'acct_def_cgp_mailtoall', 'char', 'NULL', 1, '', '',
'acct_def_cgp_addmailtrailer', 'char', 'NULL', 1, '', '',
'acct_def_cgp_archiveafter', 'int', 'NULL', '', '', '',
- #preferences
+
+ #(account default) preferences
'acct_def_cgp_deletemode', 'varchar', 'NULL', $char_d, '', '',
'acct_def_cgp_emptytrash', 'varchar', 'NULL', $char_d, '', '',
'acct_def_cgp_language', 'varchar', 'NULL', $char_d, '', '',
],
'primary_key' => 'prepaynum',
'unique' => [ ['identifier'] ],
- 'index' => [],
+ 'index' => [ ['agentnum'] ],
'foreign_keys' => [
{ columns => [ 'agentnum' ],
table => 'agent',
[ 'job' ], [ 'svcnum' ], [ 'custnum' ], [ 'status' ],
],
'foreign_keys' => [
- { columns => [ 'svcnum' ],
- table => 'cust_svc',
- },
+# { columns => [ 'svcnum' ],
+# table => 'cust_svc',
+# },
{ columns => [ 'custnum' ],
table => 'cust_main',
},
],
},
+ 'queue_stat' => {
+ 'columns' => [
+ 'statnum', 'bigserial', '', '', '', '',
+ 'jobnum', 'bigint', '', '', '', '',
+ 'job', 'varchar', '', 512, '', '',
+ 'custnum', 'int', 'NULL', '', '', '',
+ 'insert_date', @date_type, '', '',
+ 'start_date', @date_type, '', '',
+ 'end_date', @date_type, '', '',
+ ],
+ 'primary_key' => 'statnum',
+ 'unique' => [], #[ ['jobnum'] ],
+ 'index' => [],
+ },
+
'export_svc' => {
'columns' => [
'exportsvcnum' => 'serial', '', '', '', '',
'exportnum' => 'int', '', '', '', '',
'svcpart' => 'int', '', '', '', '',
+ 'role' => 'varchar', 'NULL', 16, '', '',
],
'primary_key' => 'exportsvcnum',
'unique' => [ [ 'exportnum', 'svcpart' ] ],
'rssi', 'int', 'NULL', '', '', '',
'suid', 'int', 'NULL', '', '', '',
'shared_svcnum', 'int', 'NULL', '', '', '',
+ 'serviceid', 'varchar', 'NULL', 64, '', '',#srvexport/reportfields
],
'primary_key' => 'svcnum',
'unique' => [ [ 'ip_addr' ], [ 'mac_addr' ] ],
'tower_sector' => {
'columns' => [
- 'sectornum', 'serial', '', '', '', '',
- 'towernum', 'int', '', '', '', '',
- 'sectorname', 'varchar', '', $char_d, '', '',
- 'ip_addr', 'varchar', 'NULL', 15, '', '',
- 'height', 'decimal', 'NULL', '', '', '',
- 'freq_mhz', 'int', 'NULL', '', '', '',
- 'direction', 'int', 'NULL', '', '', '',
- 'width', 'int', 'NULL', '', '', '',
+ 'sectornum', 'serial', '', '', '', '',
+ 'towernum', 'int', '', '', '', '',
+ 'sectorname', 'varchar', '', $char_d, '', '',
+ 'ip_addr', 'varchar', 'NULL', 15, '', '',
+ 'height', 'decimal', 'NULL', '', '', '',
+ 'freq_mhz', 'int', 'NULL', '', '', '',
+ 'direction', 'int', 'NULL', '', '', '',
+ 'width', 'int', 'NULL', '', '', '',
#downtilt etc? rfpath has profile files for devices/antennas you upload?
- 'range', 'decimal', 'NULL', '', '', '', #?
+ 'sector_range', 'decimal', 'NULL', '', '', '', #?
],
'primary_key' => 'sectornum',
'unique' => [ [ 'towernum', 'sectorname' ], [ 'ip_addr' ], ],
'columns' => [
'pkgusagepart', 'serial', '', '', '', '',
'pkgpart', 'int', '', '', '', '',
- 'minutes', 'int', '', '', '', '',
+ 'minutes', 'double precision', '', '', '', '',
'priority', 'int', 'NULL', '', '', '',
'shared', 'char', 'NULL', 1, '', '',
'rollover', 'char', 'NULL', 1, '', '',
],
},
+ 'part_pkg_fcc_option' => {
+ 'columns' => [
+ 'num', 'serial', '', '', '', '',
+ 'fccoptionname', 'varchar', '', $char_d, '', '',
+ 'pkgpart', 'int', '', '', '', '',
+ 'optionvalue', 'varchar', 'NULL', $char_d, '', '',
+ ],
+ 'primary_key' => 'num',
+ 'unique' => [ [ 'fccoptionname', 'pkgpart' ] ],
+ 'index' => [],
+ },
+
'rate' => {
'columns' => [
- 'ratenum', 'serial', '', '', '', '',
- 'ratename', 'varchar', '', $char_d, '', '',
+ 'ratenum', 'serial', '', '', '', '',
+ 'ratename', 'varchar', '',$char_d, '', '',
+ 'agentnum', 'int', 'NULL', '', '', '',
+ 'default_detailnum', 'int', 'NULL', '', '', '',
],
'primary_key' => 'ratenum',
'unique' => [],
'index' => [],
+ 'foreign_keys' => [
+ { columns => [ 'agentnum' ],
+ table => 'agent',
+ },
+ ],
},
'rate_detail' => {
'ratedetailnum', 'serial', '', '', '', '',
'ratenum', 'int', '', '', '', '',
'orig_regionnum', 'int', 'NULL', '', '', '',
- 'dest_regionnum', 'int', '', '', '', '',
+ 'dest_regionnum', 'int', 'NULL', '', '', '',
'min_included', 'int', '', '', '', '',
'conn_charge', 'decimal', '', '10,4', '0.0000', '',
+ 'conn_cost', 'decimal', '', '10,4', '0.0000', '',
'conn_sec', 'int', '', '', '0', '',
'min_charge', 'decimal', '', '10,5', '', '',
+ 'min_cost', 'decimal', '', '10,5','0.00000', '',
'sec_granularity', 'int', '', '', '', '',
'ratetimenum', 'int', 'NULL', '', '', '',
'classnum', 'int', 'NULL', '', '', '',
'cdrtypenum', 'int', 'NULL', '', '', '',
- 'region_group', 'char', 'NULL', 1, '', '',
+ 'region_group', 'char', 'NULL', 1, '', '',
+ 'upstream_mult_charge', 'decimal', '', '10,4', '0.0000', '',
+ 'upstream_mult_cost', 'decimal', '', '10,4', '0.0000', '',
],
'primary_key' => 'ratedetailnum',
'unique' => [ [ 'ratenum', 'orig_regionnum', 'dest_regionnum' ] ],
'pkg_category' => {
'columns' => [
- 'categorynum', 'serial', '', '', '', '',
- 'categoryname', 'varchar', '', $char_d, '', '',
- 'weight', 'int', 'NULL', '', '', '',
- 'condense', 'char', 'NULL', 1, '', '',
- 'disabled', 'char', 'NULL', 1, '', '',
+ 'categorynum', 'serial', '', '', '', '',
+ 'categoryname', 'varchar', '', $char_d, '', '',
+ 'weight', 'int', 'NULL', '', '', '',
+ 'ticketing_queueid', 'int', 'NULL', '', '', '',
+ 'condense', 'char', 'NULL', 1, '', '',
+ 'disabled', 'char', 'NULL', 1, '', '',
],
'primary_key' => 'categorynum',
'unique' => [],
'billsec', 'int', '', '', 0, '',
'disposition', 'varchar', '', 45, \"''", '',
'amaflags', 'int', '', '', 0, '',
- 'accountcode', 'varchar', '', 20, \"''", '',
+ 'accountcode', 'varchar', '', 32, \"''", '',
'uniqueid', 'varchar', '', $char_d, \"''", '',
'userfield', 'varchar', '', 512, \"''", '',
#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', '', '', '',
],
'primary_key' => 'acctid',
'unique' => [],
'index' => [],
},
+ 'sched_item' => {
+ 'columns' => [
+ 'itemnum', 'serial', '', '', '', '',
+ 'usernum', 'int', 'NULL', '', '', '',
+ #'itemname', 'varchar', $char_d, '', '', '',
+ 'disabled', 'char', 'NULL', 1, '', '',
+ ],
+ 'primary_key' => 'itemnum',
+ 'unique' => [ [ 'usernum' ] ],
+ 'index' => [],
+ 'foreign_keys' => [
+ { columns => [ 'usernum' ],
+ table => 'access_user',
+ },
+ ],
+ },
+
+ #'sched_item_class'
+
+ 'sched_avail' => {
+ 'columns' => [
+ 'availnum', 'serial', '', '', '', '',
+ 'itemnum', 'int', '', '', '', '',
+ 'wday', 'int', '', '', '', '',
+ 'stime', 'int', '', '', '', '',
+ 'etime', 'int', '', '', '', '',
+ 'override_date', @date_type, '', '',
+ ],
+ 'primary_key' => 'availnum',
+ 'unique' => [],
+ 'index' => [],
+ 'foreign_keys' => [
+ { columns => [ 'itemnum' ],
+ table => 'sched_item',
+ },
+ ],
+ },
+
'svc_phone' => {
'columns' => [
'svcnum', 'int', '', '', '', '',
'sms_carrierid', 'int', 'NULL', '', '', '',
'sms_account', 'varchar', 'NULL', $char_d, '', '',
'max_simultaneous', 'int', 'NULL', '', '', '',
+ 'e911_class', 'char', 'NULL', 1, '', '',
+ 'e911_type', 'char', 'NULL', 1, '', '',
+ 'circuit_svcnum', 'int', 'NULL', '', '', '',
+ 'sip_server', 'varchar', 'NULL', $char_d, '', '',
],
'primary_key' => 'svcnum',
'unique' => [ [ 'sms_carrierid', 'sms_account'] ],
table => 'cdr_carrier',
references => [ 'carrierid' ],
},
+ { columns => [ 'circuit_svcnum' ],
+ table => 'svc_circuit',
+ references => [ 'svcnum' ],
+ },
],
},
'disabled', 'char', 'NULL', 1, '', '',
'unsuspend_pkgpart', 'int', 'NULL', '', '', '',
'unsuspend_hold','char', 'NULL', 1, '', '',
+ 'unused_credit', 'char', 'NULL', 1, '', '',
],
'primary_key' => 'reasonnum',
'unique' => [],
'columns' => [
'svcnum', 'int', '', '', '', '',
'id', 'int', 'NULL', '', '', '',
+ 'uuid', 'char', 'NULL', 36, '', '',
'title', 'varchar', 'NULL', $char_d, '', '',
'max_extensions', 'int', 'NULL', '', '', '',
'max_simultaneous', 'int', 'NULL', '', '', '',
+ 'ip_addr', 'varchar', 'NULL', 40, '', '',
],
'primary_key' => 'svcnum',
'unique' => [],
- 'index' => [ [ 'id' ] ],
+ 'index' => [ [ 'id' ], [ 'uuid' ] ],
'foreign_keys' => [
{ columns => [ 'svcnum' ],
table => 'cust_svc',
'columns' => [
'logcontextnum', 'serial', '', '', '', '',
'lognum', 'int', '', '', '', '',
- 'context', 'varchar', '', 32, '', '',
+ 'context', 'varchar', '', $char_d, '', '',
],
'primary_key' => 'logcontextnum',
'unique' => [ [ 'lognum', 'context' ] ],
'svc_alarm' => {
'columns' => [
- 'svcnum', 'int', '', '', '', '',
- 'alarmsystemnum', 'int', '', '', '', '',
- 'alarmtypenum', 'int', '', '', '', '',
- 'alarmstationnum', 'int', '', '', '', '',
- 'acctnum', 'varchar', '', $char_d, '', '',
- '_password', 'varchar', '', $char_d, '', '',
- 'location', 'varchar', 'NULL', $char_d, '', '',
+# name type null length default local
+ 'svcnum', 'int', '', '', '', '',
+ 'alarmsystemnum', 'int', '', '', '', '',
+ 'alarmtypenum', 'int', '', '', '', '',
+ 'alarmstationnum', 'int', '', '', '', '',
+ 'acctnum', 'varchar', '', $char_d, '', '',
+ '_password', 'varchar', '', $char_d, '', '',
+ 'location', 'varchar', 'NULL', $char_d, '', '',
+ 'cs_receiver', 'int', 'NULL', '', '', '',
+ 'cs_phonenum', 'varchar', 'NULL', $char_d, '', '',
+ 'serialnum', 'varchar', 'NULL', $char_d, '', '',
#installer (rep)
],
'primary_key' => 'svcnum',
'mac_addr', 'varchar', 'NULL', 12, '', '',
],
'primary_key' => 'svcnum',
- 'unique' => [],
+ 'unique' => [ ['serialnum'] , ['mac_addr'] ],
'index' => [],
'foreign_keys' => [
{ columns => [ 'svcnum' ],
],
},
+ 'circuit_type' => {
+ 'columns' => [
+ 'typenum', 'serial', '', '', '', '',
+ 'typename', 'varchar', '', $char_d, '', '',
+ 'disabled', 'char', 'NULL', 1, '', '',
+ # speed? number of voice lines? anything else?
+ ],
+ 'primary_key' => 'typenum',
+ 'unique' => [ [ 'typename' ] ],
+ 'index' => [],
+ },
+
+ 'circuit_provider' => {
+ 'columns' => [
+ 'providernum', 'serial', '', '', '', '',
+ 'provider', 'varchar', '', $char_d, '', '',
+ 'disabled', 'char', 'NULL', 1, '', '',
+ ],
+ 'primary_key' => 'providernum',
+ 'unique' => [ [ 'provider' ], ],
+ 'index' => [],
+ },
+
+ 'circuit_termination' => {
+ 'columns' => [
+ 'termnum', 'serial', '', '', '', '',
+ 'termination','varchar', '', $char_d, '', '',
+ 'disabled', 'char', 'NULL', 1, '', '',
+ ],
+ 'primary_key' => 'termnum',
+ 'unique' => [ [ 'termination' ] ],
+ 'index' => [],
+ },
+
+ 'svc_circuit' => {
+ 'columns' => [
+ 'svcnum', 'int', '', '', '', '',
+ 'typenum', 'int', '', '', '', '',
+ 'providernum', 'int', '', '', '', '',
+ 'termnum', 'int', '', '', '', '',
+ 'circuit_id', 'varchar', '', 64, '', '',
+ 'desired_due_date', 'int', 'NULL', '', '', '',
+ 'due_date', 'int', 'NULL', '', '', '',
+ 'vendor_order_id', 'varchar', 'NULL', $char_d, '', '',
+ 'vendor_qual_id', 'varchar', 'NULL', $char_d, '', '',
+ 'vendor_order_type', 'varchar', 'NULL', $char_d, '', '',
+ 'vendor_order_status', 'varchar', 'NULL', $char_d, '', '',
+ 'endpoint_ip_addr', 'varchar', 'NULL', 40, '', '',
+ 'endpoint_mac_addr', 'varchar', 'NULL', 12, '', '',
+ ],
+ 'primary_key' => 'svcnum',
+ 'unique' => [],
+ 'index' => [ [ 'providernum' ], [ 'typenum' ] ],
+ 'foreign_keys' => [
+ { columns => [ 'svcnum' ],
+ table => 'cust_svc',
+ },
+ { columns => [ 'typenum' ],
+ table => 'circuit_type',
+ },
+ { columns => [ 'providernum' ],
+ table => 'circuit_provider',
+ },
+ { columns => [ 'termnum' ],
+ table => 'circuit_termination',
+ },
+ ],
+ },
+
'vend_main' => {
'columns' => [
'vendnum', 'serial', '', '', '', '',
'columns' => [
'vendbillnum', 'serial', '', '', '', '',
'vendnum', 'int', '', '', '', '',
- '_date', @date_type, '', '',
+ #'_date', @date_type, '', '',
+ '_date', 'int', '', '', '', '',
'charged', @money_type, '', '',
],
'primary_key' => 'vendbillnum',
'columns' => [
'vendpaynum', 'serial', '', '', '', '',
'vendnum', 'int', '', '', '', '',
- '_date', @date_type, '', '',
+ #'_date', @date_type, '', '',
+ '_date', 'int', '', '', '', '',
'paid', @money_type, '', '',
],
'primary_key' => 'vendpaynum',
],
},
+ 'export_batch' => {
+ 'columns' => [
+ 'batchnum', 'serial', '', '', '', '',
+ 'exportnum', 'int', '', '', '', '',
+ '_date', 'int', '', '', '', '',
+ 'status', 'varchar', 'NULL', 32, '', '',
+ 'statustext', 'text', 'NULL', '', '', '',
+ ],
+ 'primary_key' => 'batchnum',
+ 'unique' => [],
+ 'index' => [ [ 'exportnum' ], [ 'status' ] ],
+ 'foreign_keys' => [
+ { columns => [ 'exportnum' ],
+ table => 'part_export',
+ references => [ 'exportnum' ]
+ },
+ ],
+ },
+
+ 'export_batch_item' => {
+ 'columns' => [
+ 'itemnum', 'serial', '', '', '', '',
+ 'batchnum', 'int', '', '', '', '',
+ 'svcnum', 'int', '', '', '', '',
+ 'action', 'varchar', '', 32, '', '',
+ 'data', 'text', 'NULL', '', '', '',
+ 'frozen', 'char', 'NULL', 1, '', '',
+ ],
+ 'primary_key' => 'itemnum',
+ 'unique' => [],
+ 'index' => [ [ 'batchnum' ], [ 'svcnum' ] ],
+ 'foreign_keys' => [
+ { columns => [ 'batchnum' ],
+ table => 'export_batch',
+ references => [ 'batchnum' ]
+ },
+ ],
+ },
+
+ # lookup table for states, similar to msa and lata
+ 'state' => {
+ 'columns' => [
+ 'statenum', 'int', '', '', '', '',
+ 'country', 'char', '', 2, '', '',
+ 'state', 'char', '', $char_d, '', '',
+ 'fips', 'char', '', 3, '', '',
+ ],
+ 'primary_key' => 'statenum',
+ 'unique' => [ [ 'country', 'state' ], ],
+ 'index' => [],
+ },
+
+ # eventually link to tower/sector?
+ 'deploy_zone' => {
+ 'columns' => [
+ 'zonenum', 'serial', '', '', '', '',
+ 'description', 'char', 'NULL', $char_d, '', '',
+ 'agentnum', 'int', '', '', '', '',
+ 'dbaname', 'char', 'NULL', $char_d, '', '',
+ 'zonetype', 'char', '', 1, '', '',
+ 'technology', 'int', '', '', '', '',
+ 'spectrum', 'int', 'NULL', '', '', '',
+ 'adv_speed_up', 'decimal', '', '10,3', '0', '',
+ 'adv_speed_down', 'decimal', '', '10,3', '0', '',
+ 'cir_speed_up', 'decimal', '', '10,3', '0', '',
+ 'cir_speed_down', 'decimal', '', '10,3', '0', '',
+ 'is_broadband', 'char', 'NULL', 1, '', '',
+ 'is_voice', 'char', 'NULL', 1, '', '',
+ 'is_consumer', 'char', 'NULL', 1, '', '',
+ 'is_business', 'char', 'NULL', 1, '', '',
+ 'active_date', @date_type, '', '',
+ 'expire_date', @date_type, '', '',
+ ],
+ 'primary_key' => 'zonenum',
+ 'unique' => [],
+ 'index' => [ [ 'agentnum' ] ],
+ 'foreign_keys' => [
+ { columns => [ 'agentnum' ],
+ table => 'agent',
+ references => [ 'agentnum' ],
+ },
+ ],
+ },
+
+ 'deploy_zone_block' => {
+ 'columns' => [
+ 'blocknum', 'serial', '', '', '', '',
+ 'zonenum', 'int', '', '', '', '',
+ 'censusblock', 'char', '', 15, '', '',
+ 'censusyear', 'char', '', 4, '', '',
+ ],
+ 'primary_key' => 'blocknum',
+ 'unique' => [],
+ 'index' => [ [ 'zonenum' ] ],
+ 'foreign_keys' => [
+ { columns => [ 'zonenum' ],
+ table => 'deploy_zone',
+ references => [ 'zonenum' ],
+ },
+ ],
+ },
+
+ 'deploy_zone_vertex' => {
+ 'columns' => [
+ 'vertexnum', 'serial', '', '', '', '',
+ 'zonenum', 'int', '', '', '', '',
+ 'latitude', 'decimal', '', '10,7', '', '',
+ 'longitude', 'decimal', '', '10,7', '', '',
+ ],
+ 'primary_key' => 'vertexnum',
+ 'unique' => [ ],
+ 'index' => [ ],
+ 'foreign_keys' => [
+ { columns => [ 'zonenum' ],
+ table => 'deploy_zone',
+ references => [ 'zonenum' ],
+ },
+ ],
+ },
+
+
+
+
+
# name type nullability length default local
#'new_table' => {