Skip to content

Commit

Permalink
Add setup tasks
Browse files Browse the repository at this point in the history
* Add FuelPHP task
* Remove undeeded files
* Add DbConfig class for getting db params
  • Loading branch information
kenjis committed Dec 11, 2015
1 parent 8d38836 commit d15c61b
Show file tree
Hide file tree
Showing 13 changed files with 84 additions and 184 deletions.
10 changes: 7 additions & 3 deletions README.md
Expand Up @@ -50,14 +50,18 @@ You may skip Phalcon by running `composer install --ignore-platform-reqs`, if yo

(2) Set `public` folder as your web document root. If you access <http://localhost/>, you can see the results graph.

(3) Create database `php_dev` and import schema `schema/php_dev.sql`.
(3) Configure `fuel/app/config/development/db.php`.

(4) Configure `fuel/app/config/development/db.php`.
(4) Create database `php_dev` and import schema `schema/php_dev.sql`.

~~~
$ php oil r setup:mysql
~~~

(5) Generate config file for Propel.

~~~
$ bin/setup.propel2.sh
$ php oil r setup:propel2
~~~

(6) Run benchmarks.
Expand Down
37 changes: 0 additions & 37 deletions bin/setup.mysql.sh

This file was deleted.

6 changes: 0 additions & 6 deletions bin/setup.propel2.sh

This file was deleted.

4 changes: 2 additions & 2 deletions docker/README.md
Expand Up @@ -75,12 +75,12 @@ Install composer dependencies:

Create database `php_dev` and import schema `schema/php_dev.sql`:
~~~
# bin/setup.mysql.sh
# php oil r setup:mysql
~~~

Generate the configuration file for Propel 2:
~~~
# bin/setup.propel2.sh
# php oil r setup:propel2
~~~

Run benchmarks:
Expand Down
19 changes: 1 addition & 18 deletions fuel/app/classes/controller/base.php
Expand Up @@ -2,22 +2,5 @@

class Controller_Base extends Controller
{
protected function get_db_params()
{
\Config::load('db', true);
$dsn = \Config::get('db.default.connection.dsn');
list($driver, $tmp) = explode(':', $dsn);
list($hostStr, $dbnameStr) = explode(';', $tmp);
list($tmp, $host) = explode('=', $hostStr);
list($tmp, $dbname) = explode('=', $dbnameStr);
$username = \Config::get('db.default.connection.username');
$password = \Config::get('db.default.connection.password');

return [
'host' => $host,
'dbname' => $dbname,
'username' => $username,
'password' => $password,
];
}

}
2 changes: 1 addition & 1 deletion fuel/app/classes/controller/orm/doctrine.php
Expand Up @@ -9,7 +9,7 @@ class Controller_Orm_Doctrine extends Controller_Base

public function setup()
{
$db = $this->get_db_params();
$db = DbConfig::get_params();

$entitiesPaths = [APPPATH . 'classes/model/doctrine'];
$isDevMode = false;
Expand Down
2 changes: 1 addition & 1 deletion fuel/app/classes/controller/orm/eloquent.php
Expand Up @@ -4,7 +4,7 @@ class Controller_Orm_Eloquent extends Controller_Base
{
public function setup()
{
$db = $this->get_db_params();
$db = DbConfig::get_params();

$capsule = new Illuminate\Database\Capsule\Manager;
$capsule->addConnection([
Expand Down
2 changes: 1 addition & 1 deletion fuel/app/classes/controller/orm/phalcon.php
Expand Up @@ -4,7 +4,7 @@ class Controller_Orm_Phalcon extends Controller_Base
{
public function setup()
{
$db = $this->get_db_params();
$db = DbConfig::get_params();

$di = new Phalcon\DI();
$di->set('modelsManager', function() {
Expand Down
2 changes: 1 addition & 1 deletion fuel/app/classes/controller/orm/yii1.php
Expand Up @@ -10,7 +10,7 @@ public function setup()
require_once("$basePath/app/classes/model/yii1/Comment.php");
require_once("$basePath/app/classes/model/yii1/Post.php");

$dbConfig = $this->get_db_params();
$dbConfig = DbConfig::get_params();
$db = new CDbConnection(
"mysql:host={$dbConfig['host']};dbname={$dbConfig['dbname']};charset=utf8",
$dbConfig['username'],
Expand Down
2 changes: 1 addition & 1 deletion fuel/app/classes/controller/orm/yii2.php
Expand Up @@ -12,7 +12,7 @@ public function setup()
require($basePath . '/vendor/yiisoft/yii2/Yii.php');
Yii::setAlias('@model', "$basePath/app/classes/model");

$dbConfig = $this->get_db_params();
$dbConfig = DbConfig::get_params();
$db = new \yii\db\Connection([
'dsn' => "mysql:host={$dbConfig['host']};dbname={$dbConfig['dbname']}",
'username' => $dbConfig['username'],
Expand Down
31 changes: 31 additions & 0 deletions fuel/app/classes/dbconfig.php
@@ -0,0 +1,31 @@
<?php

class DbConfig
{
private static $params = [];

public static function get_params()
{
if (static::$params !== []) {
return static::$params;
}

\Config::load('db', true);
$dsn = \Config::get('db.default.connection.dsn');
list($driver, $tmp) = explode(':', $dsn);
list($hostStr, $dbnameStr) = explode(';', $tmp);
list($tmp, $host) = explode('=', $hostStr);
list($tmp, $dbname) = explode('=', $dbnameStr);
$username = \Config::get('db.default.connection.username');
$password = \Config::get('db.default.connection.password');

static::$params = [
'host' => $host,
'dbname' => $dbname,
'username' => $username,
'password' => $password,
];

return static::$params;
}
}
113 changes: 0 additions & 113 deletions fuel/app/tasks/robots.php

This file was deleted.

38 changes: 38 additions & 0 deletions fuel/app/tasks/setup.php
@@ -0,0 +1,38 @@
<?php

namespace Fuel\Tasks;

class Setup
{
public function propel2()
{
passthru(
'cd ' . APPPATH . '..;
vendor/bin/propel config:convert'
);
}

public function mysql()
{
$db = \DbConfig::get_params();
$dbname = $db['dbname'];

$scheme_sql = 'CREATE DATABASE IF NOT EXISTS `' . $dbname . '`;';
$scheme_sql .= 'DROP TABLE IF EXISTS `comment`;';
$scheme_sql .= 'DROP TABLE IF EXISTS `post`;';
$scheme_sql .= file_get_contents(APPPATH . '../../schema/php_dev.sql');

foreach (explode(';', $scheme_sql) as $sql) {
if (preg_match('/^\n$/u', $sql)) {
continue;
}

$result = \DB::query($sql)->execute();
if ($result) {
\Cli::write(\Cli::color($sql, 'green'));
} else {
\Cli::error(\Cli::color($sql, 'red'));
}
}
}
}

0 comments on commit d15c61b

Please sign in to comment.