use DBIx::DBSchema::Table;
use DBIx::DBSchema::Column;
use DBIx::DBSchema::Index;
+#can't use this yet, dependency bs #use FS::Conf;
@ISA = qw(Exporter);
@EXPORT_OK = qw( dbdef dbdef_dist reload_dbdef );
=cut
sub dbdef_dist {
- my $datasrc = @_ ? shift : '';
+ my $datasrc = @_ && !ref($_[0]) ? shift : '';
+ my $opt = @_ ? shift : {};
my $local_options = '';
if ( $datasrc =~ /^dbi:mysql/i ) {
grep { ! /^(clientapi|access_user)_session/
&& ! /^h_/
&& ! /^log(_context)?$/
+ && ( ! /^queue(_arg)?$/ || ! $opt->{'queue-no_history'} )
&& ! $tables_hashref_torrus->{$_}
}
$dbdef->tables
'currency', 'char', 'NULL', 3, '', '',
#deprecated, info moved to cust_payby
- 'payby', 'char', '', 4, '', '',
+ 'payby', 'char', 'NULL', 4, '', '',
'payinfo', 'varchar', 'NULL', 512, '', '',
'paycvv', 'varchar', 'NULL', 512, '', '',
'paymask', 'varchar', 'NULL', $char_d, '', '',
'selfservice_access', 'varchar', 'NULL', $char_d, '', '',
'classnum', 'int', 'NULL', '', '', '',
'restrict_edit_password','char', 'NULL', 1, '', '',
+ 'has_router', 'char', 'NULL', 1, '', '',
],
'primary_key' => 'svcpart',
'unique' => [],
'index' => [],
},
+ 'svc_alarm' => {
+ 'columns' => [
+ 'svcnum', 'int', '', '', '', '',
+ 'alarm_system', 'varchar', '', $char_d, '', '', # dropdowns?
+ 'alarm_type', 'varchar', '', $char_d, '', '', #
+ 'acctnum', 'varchar', '', $char_d, '', '',
+ '_password', 'varchar', '', $char_d, '', '',
+ 'location', 'varchar', 'NULL', $char_d, '', '',
+ #cs
+ #rep
+ ],
+ 'primary_key' => 'svcnum',
+ 'unique' => [], #system/type/acctnum??
+ 'index' => [],
+ },
+
'svc_cable' => {
'columns' => [
- 'svcnum', 'int', '', '', '', '',
- #nothing so far... there should be _something_ uniquely identifying
- # each subscriber besides the device info...?
+ 'svcnum', 'int', '', '', '', '',
+ 'modelnum', 'int', 'NULL', '', '', '',
+ 'serialnum', 'varchar', 'NULL', $char_d, '', '',
+ 'mac_addr', 'varchar', 'NULL', 12, '', '',
],
'primary_key' => 'svcnum',
'unique' => [],
'index' => [],
},
- 'cable_device' => {
+ 'cable_model' => {
'columns' => [
- 'devicenum', 'serial', '', '', '', '',
- 'devicepart', 'int', '', '', '', '',
- 'svcnum', 'int', '', '', '', '',
- 'mac_addr', 'varchar', 'NULL', 12, '', '',
- 'serial', 'varchar', 'NULL', $char_d, '', '',
+ 'modelnum', 'serial', '', '', '', '',
+ 'model_name', 'varchar', '', $char_d, '', '',
+ 'disabled', 'char', 'NULL', 1, '', '',
],
- 'primary_key' => 'devicenum',
- 'unique' => [ [ 'mac_addr' ], ],
- 'index' => [ [ 'devicepart' ], [ 'svcnum' ], ],
+ 'primary_key' => 'modelnum',
+ 'unique' => [ [ 'model_name' ], ],
+ 'index' => [],
},
'vend_main' => {
'index' => [ [ 'derivenum', ], ],
},
+ 'invoice_mode' => {
+ 'columns' => [
+ 'modenum', 'serial', '', '', '', '',
+ 'agentnum', 'int', 'NULL', '', '', '',
+ 'modename', 'varchar', '', 32, '', '',
+ ],
+ 'primary_key' => 'modenum',
+ 'unique' => [ ],
+ 'index' => [ ],
+ },
+
+ 'invoice_conf' => {
+ 'columns' => [
+ 'confnum', 'serial', '', '', '', '',
+ 'modenum', 'int', '', '', '', '',
+ 'locale', 'varchar', 'NULL', 16, '', '',
+ 'notice_name', 'varchar', 'NULL', 64, '', '',
+ 'subject', 'varchar', 'NULL', 64, '', '',
+ 'htmlnotes', 'text', 'NULL', '', '', '',
+ 'htmlfooter', 'text', 'NULL', '', '', '',
+ 'htmlsummary', 'text', 'NULL', '', '', '',
+ 'htmlreturnaddress', 'text', 'NULL', '', '', '',
+ 'latexnotes', 'text', 'NULL', '', '', '',
+ 'latexfooter', 'text', 'NULL', '', '', '',
+ 'latexsummary', 'text', 'NULL', '', '', '',
+ 'latexcoupon', 'text', 'NULL', '', '', '',
+ 'latexsmallfooter', 'text', 'NULL', '', '', '',
+ 'latexreturnaddress', 'text', 'NULL', '', '', '',
+ 'latextopmargin', 'varchar', 'NULL', 16, '', '',
+ 'latexheadsep', 'varchar', 'NULL', 16, '', '',
+ 'latexaddresssep', 'varchar', 'NULL', 16, '', '',
+ 'latextextheight', 'varchar', 'NULL', 16, '', '',
+ 'latexextracouponspace','varchar', 'NULL', 16, '', '',
+ 'latexcouponfootsep', 'varchar', 'NULL', 16, '', '',
+ 'latexcouponamountenclosedsep', 'varchar', 'NULL', 16, '', '',
+ 'latexcoupontoaddresssep', 'varchar', 'NULL', 16, '', '',
+ 'latexverticalreturnaddress', 'char', 'NULL', 1, '', '',
+ 'latexcouponaddcompanytoaddress', 'char', 'NULL', 1, '', '',
+ 'logo_png', 'blob', 'NULL', '', '', '',
+ 'logo_eps', 'blob', 'NULL', '', '', '',
+ 'lpr', 'varchar', 'NULL', $char_d, '', '',
+ ],
+ 'primary_key' => 'confnum',
+ 'unique' => [ [ 'modenum', 'locale' ] ],
+ },
# name type nullability length default local