mysql, yes, mysql.
authorivan <ivan>
Thu, 25 Oct 2007 19:03:53 +0000 (19:03 +0000)
committerivan <ivan>
Thu, 25 Oct 2007 19:03:53 +0000 (19:03 +0000)
FS/FS/Schema.pm
FS/FS/TicketSystem/RT_External.pm
Makefile

index a5954e9..d1be9f1 100644 (file)
@@ -229,7 +229,7 @@ sub dbdef_dist {
                                qw( name type null length default local )
                            } );
     
-                           if ( $column->type eq 'serial' ) {
+                           if ( $column->type =~ /^(\w*)SERIAL$/i ) {
                              $column->type('int');
                              $column->null('NULL');
                            }
@@ -1022,7 +1022,7 @@ sub tables_hashref {
         'catchall',         'int', 'NULL',       '', '', '',
        'parent_svcnum',    'int', 'NULL',       '', '', '',
        'registrarnum',     'int', 'NULL',       '', '', '',
-       'registrarkey', 'varchar', 'NULL',       '', '', '',
+       'registrarkey', 'varchar', 'NULL',      512, '', '',
        'setup_date',  @date_type, '', '',
        'renewal_interval', 'int', 'NULL',       '', '', '',
        'expiration_date', @date_type, '', '',
@@ -1576,7 +1576,8 @@ sub tables_hashref {
         ###
 
         'acctid',   'bigserial',  '', '', '', '', 
-        'calldate', 'TIMESTAMP with time zone', '', '', \'now()', '',
+        #'calldate', 'TIMESTAMP with time zone', '', '', \'now()', '',
+        'calldate', 'timestamp',   '',      '', \'now()', '',
         'clid',        'varchar',  '', $char_d, \"''", '', 
         'src',         'varchar',  '', $char_d, \"''", '', 
         'dst',         'varchar',  '', $char_d, \"''", '', 
@@ -1668,7 +1669,7 @@ sub tables_hashref {
     'cdr_type' => {
       'columns' => [
         'cdrtypenum'  => 'serial',  '', '', '', '',
-        'cdrtypename' => 'varchar', '', '', '', '',
+        'cdrtypename' => 'varchar', '', $char_d, '', '',
       ],
       'primary_key' => 'cdrtypenum',
       'unique'      => [],
@@ -1678,7 +1679,7 @@ sub tables_hashref {
     'cdr_carrier' => {
       'columns' => [
         'carrierid'   => 'serial',  '', '', '', '',
-        'carriername' => 'varchar', '', '', '', '',
+        'carriername' => 'varchar', '', $char_d, '', '',
       ],
       'primary_key' => 'carrierid',
       'unique'      => [],
@@ -1783,7 +1784,7 @@ sub tables_hashref {
         'rightnum',   'serial', '',      '', '', '',
         'righttype', 'varchar', '', $char_d, '', '',
         'rightobjnum',   'int', '',      '', '', '',
-        'rightname', 'varchar', '',      '', '', '',
+        'rightname', 'varchar', '', $char_d, '', '',
       ],
       'primary_key' => 'rightnum',
       'unique' => [ [ 'righttype', 'rightobjnum', 'rightname' ] ],
@@ -1830,7 +1831,7 @@ sub tables_hashref {
         'confnum',  'serial',  '', '', '', '', 
         'agentnum', 'int',  'NULL', '', '', '', 
         'name',     'varchar', '', $char_d, '', '', 
-        'value',    'varchar', 'NULL', '', '', '',       # Pg specific
+        'value',    'long varbinary', 'NULL', '', '', '',
       ],
       'primary_key' => 'confnum',
       'unique' => [ [ 'agentnum', 'name' ]],
index 0b9a98e..be5f22a 100644 (file)
@@ -73,8 +73,8 @@ sub customer_tickets {
   $limit ||= 0;
 
   my( $from_sql, @param) = $self->_from_customer( $custnum, $priority );
-  my $sql="SELECT tickets.*, queues.name, ".
-          "position(tickets.status in 'newopenstalledresolvedrejecteddeleted')".
+  my $sql="SELECT Tickets.*, Queues.name, ".
+          "position(Tickets.status in 'newopenstalledresolvedrejecteddeleted')".
          " AS svalue " .
           ( length($priority) ? ", objectcustomfieldvalues.content" : '' ).
           " $from_sql ".
@@ -100,8 +100,8 @@ sub _from_customer {
   my $where = '';
   if ( defined($priority) ) {
 
-    my $queue_sql = " ObjectCustomFields.ObjectId = ( SELECT id FROM queues
-                                                       WHERE queues.name = ? )
+    my $queue_sql = " ObjectCustomFields.ObjectId = ( SELECT id FROM Queues
+                                                       WHERE Queues.name = ? )
                       OR ( ? = '' AND ObjectCustomFields.ObjectId = 0 )";
 
     my $customfield_sql =
@@ -131,7 +131,7 @@ sub _from_customer {
       unshift @param, $priority;
 
       $join = "JOIN ObjectCustomFieldValues
-                 ON ( tickets.id = ObjectCustomFieldValues.ObjectId )";
+                 ON ( Tickets.id = ObjectCustomFieldValues.ObjectId )";
       
       $where = " AND content = ?
                  AND ObjectCustomFieldValues.disabled != 1
@@ -142,7 +142,7 @@ sub _from_customer {
 
       $where =
                "AND 0 = ( SELECT count(*) FROM ObjectCustomFieldValues
-                           WHERE ObjectId    = tickets.id
+                           WHERE ObjectId    = Tickets.id
                              AND ObjectType  = 'RT::Ticket'
                              AND $customfield_sql
                         )
@@ -152,9 +152,9 @@ sub _from_customer {
   }
 
   my $sql = "
-                    FROM tickets
-                    JOIN queues ON ( tickets.queue = queues.id )
-                    JOIN links ON ( tickets.id = links.localbase )
+                    FROM Tickets
+                    JOIN Queues ON ( Tickets.queue = Queues.id )
+                    JOIN Links ON ( Tickets.id = Links.localbase )
                     $join 
        WHERE ( ". join(' OR ', map "status = '$_'", $self->statuses ). " )
          AND target = 'freeside://freeside/cust_main/$custnum'
@@ -259,7 +259,7 @@ sub href_ticket {
 sub queues {
   my($self) = @_;
 
-  my $sql = "SELECT id, name FROM queues WHERE disabled = 0";
+  my $sql = "SELECT id, name FROM Queues WHERE disabled = 0";
   my $sth = $dbh->prepare($sql) or die $dbh->errstr. " preparing $sql";
   $sth->execute()               or die $sth->errstr. " executing $sql";
 
@@ -272,7 +272,7 @@ sub queue {
 
   return '' unless $queueid;
 
-  my $sql = "SELECT name FROM queues WHERE id = ?";
+  my $sql = "SELECT name FROM Queues WHERE id = ?";
   my $sth = $dbh->prepare($sql) or die $dbh->errstr. " preparing $sql";
   $sth->execute($queueid)       or die $sth->errstr. " executing $sql";
 
@@ -319,8 +319,8 @@ sub transaction_ticketid {
 sub transaction_subject {
   my( $self, $transaction_id ) = @_;
 
-  my $sql = "SELECT subject from transactions JOIN tickets ON objectid=".
-            "tickets.id WHERE transactions.id = ".  $transaction_id;
+  my $sql = "SELECT subject from Transactions JOIN Tickets ON objectid=".
+            "Tickets.id WHERE transactions.id = ".  $transaction_id;
   
   $self->_retrieve_single_value($sql);
 }
@@ -328,8 +328,8 @@ sub transaction_subject {
 sub transaction_status {
   my( $self, $transaction_id ) = @_;
 
-  my $sql = "SELECT status from transactions JOIN tickets ON objectid=".
-            "tickets.id WHERE transactions.id = ".  $transaction_id;
+  my $sql = "SELECT status from Transactions JOIN Tickets ON objectid=".
+            "Tickets.id WHERE transactions.id = ".  $transaction_id;
   
   $self->_retrieve_single_value($sql);
 }
index 781467f..fec8854 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -3,12 +3,14 @@
 #solaris and perhaps other very weirdass /bin/sh
 #SHELL="/bin/ksh"
 
-DATASOURCE = DBI:Pg:dbname=freeside
-#DATASOURCE=DBI:mysql:freeside
+DB_TYPE = Pg
+#DB_TYPE = mysql
 
 DB_USER = freeside
 DB_PASSWORD=
 
+DATASOURCE = DBI:${DB_TYPE}:dbname=freeside
+
 #changable now (some things which should go to the others still go to CONF)
 FREESIDE_CONF = /usr/local/etc/freeside
 FREESIDE_LOG = /usr/local/etc/freeside
@@ -26,9 +28,6 @@ APACHE_VERSION = 1
 #mod_perl v2 proper and prereleases 1.999_22 and after
 #APACHE_VERSION = 2
 
-# only mason now
-TEMPLATE = mason
-
 #deb
 FREESIDE_DOCUMENT_ROOT = /var/www/freeside
 #redhat, fedora, mandrake
@@ -144,7 +143,7 @@ masondocs: httemplate/* httemplate/*/* httemplate/*/*/* httemplate/*/*/*/*
 alldocs: masondocs
 
 docs:
-       make ${TEMPLATE}docs
+       make masondocs
 
 wikiman:
        chmod a+rx ./bin/pod2x
@@ -152,7 +151,7 @@ wikiman:
 
 install-docs: docs
        [ -e ${FREESIDE_DOCUMENT_ROOT} ] && mv ${FREESIDE_DOCUMENT_ROOT} ${FREESIDE_DOCUMENT_ROOT}.`date +%Y%m%d%H%M%S` || true
-       cp -r ${TEMPLATE}docs ${FREESIDE_DOCUMENT_ROOT}
+       cp -r masondocs ${FREESIDE_DOCUMENT_ROOT}
        chown -R freeside:freeside ${FREESIDE_DOCUMENT_ROOT}
        cp htetc/handler.pl ${MASON_HANDLER}
          perl -p -i -e "\
@@ -298,7 +297,7 @@ configure-rt:
          s'%%%MASONDATA%%%'${MASONDATA}'g;\
        " config.layout; \
        ./configure --enable-layout=Freeside\
-                   --with-db-type=Pg \
+                   --with-db-type=${DB_TYPE} \
                    --with-db-dba=${DB_USER} \
                    --with-db-database=${RT_DB_DATABASE} \
                    --with-db-rt-user=${DB_USER} \
@@ -312,12 +311,9 @@ create-rt: configure-rt
        [ -d /opt/rt3       ] || mkdir /opt/rt3       #
        [ -d /opt/rt3/share ] || mkdir /opt/rt3/share #
        cd rt; make install
-       echo -e "${DB_PASSWORD}\n\\d sessions"\
-        | psql -U ${DB_USER} -W ${RT_DB_DATABASE} 2>&1\
-        | grep '^Did not find'\
-        && rt/sbin/rt-setup-database --dba '${DB_USER}' \
-                                    --dba-password '${DB_PASSWORD}' \
-                                    --action schema \
+       rt/sbin/rt-setup-database --dba '${DB_USER}' \
+                                 -dba-password '${DB_PASSWORD}' \
+                                 -action schema \
         || true
        rt/sbin/rt-setup-database --action insert_initial \
        && rt/sbin/rt-setup-database --action insert --datafile ${RT_PATH}/etc/initialdata \