author | Markus Broeker<broeker.markus@googlemail.com> |
Sun, 14 Feb 2016 14:26:01 +0100 | |
changeset 35 | e21fb19dc319 |
parent 19 | 95ee596c03c5 |
child 39 | 8b4f9c6136f4 |
permissions | -rw-r--r-- |
19
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
1 |
<?php |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
2 |
|
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
3 |
header('Content-Type: text/plain'); |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
4 |
|
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
5 |
$cfg = array( |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
6 |
'dsn' => 'mysql:host=localhost;', |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
7 |
'config' => array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'), |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
8 |
'username' => 'root', |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
9 |
'password' => '', |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
10 |
); |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
11 |
|
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
12 |
require_once '../config/config.php'; |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
13 |
|
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
14 |
use bfw\database\Database; |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
15 |
|
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
16 |
$db = Database::getInstance($cfg); |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
17 |
|
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
18 |
$dropSQLStatements = array( |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
19 |
"DROP USER 'bfw'@'localhost'", |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
20 |
"DROP DATABASE IF EXISTS bfw;", |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
21 |
); |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
22 |
|
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
23 |
$createSQLStatements = array( |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
24 |
"CREATE DATABASE bfw CHARACTER SET utf8 COLLATE utf8_unicode_ci;", |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
25 |
"CREATE USER 'bfw'@'localhost' IDENTIFIED BY 'bfw';", |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
26 |
"GRANT ALL PRIVILEGES ON bfw.* TO 'bfw'@'localhost' WITH GRANT OPTION;", |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
27 |
); |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
28 |
|
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
29 |
foreach ($dropSQLStatements as $statement) { |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
30 |
$status = $db->execute($statement); |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
31 |
echo sprintf("%s\n", $statement); |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
32 |
} |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
33 |
|
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
34 |
foreach ($createSQLStatements as $statement) { |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
35 |
$status = $db->execute($statement); |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
36 |
echo sprintf("%s\n", $statement); |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
37 |
} |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
38 |
|
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
39 |
$handle = fopen(BFW_PATH . '/sql/init.sql', 'r'); |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
40 |
|
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
41 |
$sql = "USE bfw;\n\n"; |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
42 |
while (!feof($handle)) { |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
43 |
$sql .= fgets($handle); |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
44 |
} |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
45 |
|
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
46 |
fclose($handle); |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
47 |
|
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
48 |
if ($db->execute($sql) == 0) { |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
49 |
echo sprintf("%s", $sql); |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
50 |
|
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
51 |
header('Location: /'); |
95ee596c03c5
Setup Dateien und initiales Datenbank Layout
Markus Bröker <broeker.markus@googlemail.com>
parents:
diff
changeset
|
52 |
} |