-
Notifications
You must be signed in to change notification settings - Fork 0
/
createDB.php
56 lines (40 loc) · 1.08 KB
/
createDB.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
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
const __DIRMAIN__ = "./";
require_once __DIRMAIN__.'autoload.php';
use lib\Useful\Useful;
$aSqlPath = [];
$aSqlPath['mysql'] = 'doc/sql/mysql.sql';
$aSqlPath['mysqlpdo'] = 'doc/sql/mysql.sql';
$aSqlPath['sqlitepdo'] = 'doc/sql/sqlite.sql';
$oConnection = Useful::getConnectionArray();
$sMotor = (!empty($oConnection->motor)) ? $oConnection->motor : '';
$sPath = (!empty($aSqlPath[$sMotor])) ? $aSqlPath[$sMotor] : '';
try {
$oConnection = Useful::getConnectionDB();
$oConnection->connect();
if(!empty($sPath)){
$sFile = getFileContents($sPath);
$oConnection->multiRun($sFile);
}else{
throw new Exception("The path of the .sql file is not set.");
}
$oConnection->commit();
$oConnection->close();
echo "OK";
} catch (Exception $e) {
$oConnection->rollback();
$oConnection->close();
echo $e->getMessage();
}
function getFileContents($sFilePath){
$oFile = fopen($sFilePath, "r");
$sFile = '';
while (!feof($oFile)){
$sLine = fgets($oFile);
$sFile .= $sLine;
}
fclose($oFile);
return $sFile;
}