addRequest() and fulfillRequest() in db conversion
The db conversion script can now use these two methods.
This commit is contained in:
		
							parent
							
								
									f1b8406e61
								
							
						
					
					
						commit
						9474dacd6c
					
				
					 1 changed files with 15 additions and 23 deletions
				
			
		|  | @ -21,7 +21,6 @@ my $sp = new Supporter($dbhNew, "/usr/bin/ledger"); | ||||||
| 
 | 
 | ||||||
| # Insert t-shirt types and sizes | # Insert t-shirt types and sizes | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| my @sizes = qw/LadiesS LadiesM LadiesL LadiesXL MenS MenM MenL MenXL Men2XL/; | my @sizes = qw/LadiesS LadiesM LadiesL LadiesXL MenS MenM MenL MenXL Men2XL/; | ||||||
| my $tShirt0 = $sp->addRequestConfigurations("t-shirt-0", \@sizes); | my $tShirt0 = $sp->addRequestConfigurations("t-shirt-0", \@sizes); | ||||||
| my $thShirt1 = $sp->addRequestConfigurations("t-shirt-1", \@sizes); | my $thShirt1 = $sp->addRequestConfigurations("t-shirt-1", \@sizes); | ||||||
|  | @ -31,26 +30,12 @@ my $tShirt1RequestTypeId = (keys %{$tShirt0})[0]; | ||||||
| 
 | 
 | ||||||
| my %tShirt0SizeRequestConfigurationIds = %{$tShirt0->{$tShirt0RequestTypeId}}; | my %tShirt0SizeRequestConfigurationIds = %{$tShirt0->{$tShirt0RequestTypeId}}; | ||||||
| 
 | 
 | ||||||
| my $announceEmailListRequestTypeId = $sp->addRequestType("join-announce-email-list"); |  | ||||||
| 
 |  | ||||||
| # Only one email Adress type so far | # Only one email Adress type so far | ||||||
| my $sthNew = $dbhNew->prepare("INSERT INTO address_type(name) values('paypal_payer')"); | my $sthNew = $dbhNew->prepare("INSERT INTO address_type(name) values('paypal_payer')"); | ||||||
| $sthNew->execute(); | $sthNew->execute(); | ||||||
| my $paypalPayerTypeId = $dbhNew->last_insert_id("","","",""); | my $paypalPayerTypeId = $dbhNew->last_insert_id("","","",""); | ||||||
| $sthNew->finish(); | $sthNew->finish(); | ||||||
| 
 | 
 | ||||||
| # Legacy fulfillment confirmation |  | ||||||
| $sthNew = $dbhNew->prepare("INSERT INTO fulfillment(date, who, how)" . |  | ||||||
|                            "values(date('now'), 'bkuhn', 'legacy import of old database; exact details of this fulfillment are unknown')"); |  | ||||||
| $sthNew->execute(); |  | ||||||
| my $fulfillmentId = $dbhNew->last_insert_id("","","",""); |  | ||||||
| $sthNew->finish(); |  | ||||||
| 
 |  | ||||||
| my $sthInsertRequest = $dbhNew->prepare('INSERT INTO request' . |  | ||||||
|      '(supporter_id, request_type_id, request_configuration_id, date_requested, fulfillment_id, notes) ' . |  | ||||||
|      "values(?, ?, ?, date('now'), ?," . |  | ||||||
|      '"import of old database; exact date of this request is unknown")'); |  | ||||||
| 
 |  | ||||||
| my $sthOld = $dbhOld->prepare('SELECT * from supporters order by id;'); | my $sthOld = $dbhOld->prepare('SELECT * from supporters order by id;'); | ||||||
| $sthOld->execute(); | $sthOld->execute(); | ||||||
| 
 | 
 | ||||||
|  | @ -58,24 +43,31 @@ while (my $row = $sthOld->fetchrow_hashref) { | ||||||
|   $row->{email_address_type} = 'paypal'; |   $row->{email_address_type} = 'paypal'; | ||||||
|   $row->{email_address} = $row->{paypal_payer}; |   $row->{email_address} = $row->{paypal_payer}; | ||||||
|   my $supporterId = $sp->addSupporter($row); |   my $supporterId = $sp->addSupporter($row); | ||||||
|    | 
 | ||||||
|   die("Database conversion failed on id matching: $row->{ledger_entity_id} had ID $row->{id} now has $supporterId") |   die("Database conversion failed on id matching: $row->{ledger_entity_id} had ID $row->{id} now has $supporterId") | ||||||
|       unless ($row->{id} == $supporterId); |       unless ($row->{id} == $supporterId); | ||||||
|   if ($row->{want_gift}) { |   if ($row->{want_gift}) { | ||||||
|     die "DB Convert Fail: Unknown shirt size of $row->{shirt_size} when someone wanted a shirt" |     die "DB Convert Fail: Unknown shirt size of $row->{shirt_size} when someone wanted a shirt" | ||||||
|       unless defined $tShirt0SizeRequestConfigurationIds{$row->{shirt_size}}; |       unless defined $tShirt0SizeRequestConfigurationIds{$row->{shirt_size}}; | ||||||
|     $sthInsertRequest->execute($supporterId, $tShirt0RequestTypeId, |     my $requestParamaters = { supporterId => $supporterId, requestConfiguration => $row->{shirt_size}, requestType => 't-shirt-0' }; | ||||||
|                                $tShirt0SizeRequestConfigurationIds{$row->{shirt_size}}, |     $sp->addRequest($requestParamaters); | ||||||
|                                ($row->{gift_sent} ? $fulfillmentId : undef)); |     if ($row->{gift_sent}) { | ||||||
|  |       $requestParamaters->{who} = 'bkuhn'; | ||||||
|  |       $requestParamaters->{how} = 'legacy import of old database; exact details of this fulfillment are unknown'; | ||||||
|  |       $sp->fulfillRequest($requestParamaters); | ||||||
|  |     } | ||||||
|   } |   } | ||||||
|   if ($row->{join_list}) { |   if ($row->{join_list}) { | ||||||
|     $sthInsertRequest->execute($supporterId, $announceEmailListRequestTypeId, undef, |     my $requestParamaters = { supporterId => $supporterId,  requestType => "join-announce-email-list" }; | ||||||
|                                ($row->{on_announce_mailman_list} ? $fulfillmentId : undef)); |     $sp->addRequest($requestParamaters); | ||||||
|  |     if ($row->{on_announce_mailing_list}) { | ||||||
|  |       $requestParamaters->{who} = 'bkuhn'; | ||||||
|  |       $requestParamaters->{how} = 'legacy import of old database; exact details of this fulfillment are unknown'; | ||||||
|  |       $sp->fulfillRequest($requestParamaters); | ||||||
|   } |   } | ||||||
|   $sp->addPostalAddress($supporterId, $row->{formatted_address}, 'paypal'); |   $sp->addPostalAddress($supporterId, $row->{formatted_address}, 'paypal'); | ||||||
| } | } | ||||||
| foreach my $sth (($sthOld, $sthOld, $sthInsertRequest)) { | $sthOld->finish(); | ||||||
|   $sth->finish(); |  | ||||||
| } | } | ||||||
| foreach my $dbh ($dbhNew, $dbhOld) { | foreach my $dbh ($dbhNew, $dbhOld) { | ||||||
|   $dbhNew->disconnect(); |   $dbhNew->disconnect(); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Bradley M. Kuhn
						Bradley M. Kuhn