-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathetl.php
117 lines (66 loc) · 3.61 KB
/
etl.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?php
/*****************************************************************************************************************
Created By : Cormac McGuire - cromac
Created Date : 01/05/11
Description : This handles the transformation of all tables in the etl phase
Updated By :
Updated Date :
Description :
*****************************************************************************************************************/
$vars = array( 'ct', 'cust_import', 'hotel_import', );
$etl_classes = array( 'transform', 'operators', 'createtables' , 'customer' , 'hotel', 'location', 'holiday', 'holidaydetails' );
foreach ( $etl_classes as $class ){
$file = 'classes/etl/class.' . $class . '.php';
require( $file );
}
echo( '<h1>ETL Phase</h1>' );
$verbose = false;
$ct = new CreateTables( $verbose );
$location_import = new LocationTransformation( $verbose );
$cust_import = new CustomerTransformation( $verbose );
$hotel_import = new HotelTransformation( true );
$operator_import = new OperatorTransformation( $verbose );
$holiday_import = new HolidayTransformation( $verbose );
$holiday_details_import = new HolidayDetailsTransformation( $verbose );
$ct->buildCreateStatements();
$ct->createTempTables();
$ct->createErrorTable();
$cust_import->separateErrors();
/*****************************************************************************************************************
LOCATION IMPORT
*****************************************************************************************************************/
$location_import->importLocationTableContents();
/*****************************************************************************************************************
CUSTOMER IMPORT
*****************************************************************************************************************/
$cust_import->writeViaggiCustomerToEtl();
$cust_import->writeMTCustomerToEtl();
$cust_import->writeGBCustomerToEtl();
/*****************************************************************************************************************
OPERATOR IMPORT
*****************************************************************************************************************/
$operator_import->writeOperatorsToEtl( );
/*****************************************************************************************************************
HOTEL IMPORT
*****************************************************************************************************************/
$hotel_import->writeGBHotelToEtl();
$hotel_import->writeViaggiHotelToEtl();
$hotel_import->writeMTHotelToEtl();
/*****************************************************************************************************************
HOLIDAY IMPORT
*****************************************************************************************************************/
$holiday_import->writeHolidaysToEtl( );
/*****************************************************************************************************************
HOLIDAY DETAILS IMPORT
*****************************************************************************************************************/
$holiday_details_import->writeHolidayDetailsToEtl( );
/*****************************************************************************************************************
CLOSE DB CONNECTIONS
*****************************************************************************************************************/
foreach( $vars as $var ){
try{
$$var->cleanUp();
}catch(Exception $e){
krumo( $e );
}
}