Пример #1
0
 /**
  * Setup eloquent database
  * @param \Illuminate\Database\Capsule\Manager $capsule
  * @throws \Lassi\App\Exception\NotFoundException
  * @return \Lassi\App\Database
  */
 private function _makeEloquent(Capsule $capsule)
 {
     // Throw exception if minimum requirements not met
     if (!getenv('db_driver') || !getenv('db_name')) {
         throw new NotFoundException('App configurations not found.');
     }
     // Get capsule instance
     $this->capsule = $capsule;
     // Cache db driver
     $db_driver = getenv('db_driver');
     // Setup connection defaults
     $configs = array('driver' => $db_driver, 'database' => getenv('db_name'), 'prefix' => getenv('db_prefix'), 'charset' => getenv('db_charset'), 'collation' => getenv('db_collation'));
     // Add extras depending on type of driver/connection
     if ($db_driver !== 'sqlite') {
         if (getenv('db_host')) {
             $configs['host'] = getenv('db_host');
         }
         if (getenv('db_username')) {
             $configs['username'] = getenv('db_username');
         }
         if (getenv('db_password')) {
             $configs['password'] = getenv('db_password');
         }
     }
     // Setup connection
     $this->capsule->addConnection($configs);
     // Set as global
     $this->capsule->setAsGlobal();
     // Boot eloquent
     $this->capsule->bootEloquent();
     return $this;
 }
Пример #2
0
 public function init()
 {
     $this->capsule = new Capsule();
     $this->capsule->addConnection(['driver' => 'mysql', 'host' => DB_HOST, 'port' => DB_PORT, 'database' => DB_NAME, 'username' => DB_USER, 'password' => DB_PASSWORD, 'charset' => DB_CHARSET, 'collation' => DB_COLLATION]);
     $this->capsule->bootEloquent();
     $this->capsule->setAsGlobal();
 }
Пример #3
0
 private function __construct()
 {
     $this->capsule = new Capsule();
     $this->capsule->addConnection(['driver' => 'mysql', 'host' => DB_HOST, 'database' => DB_NAME, 'username' => DB_USER, 'password' => DB_PASSWORD, 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '']);
     $this->capsule->setEventDispatcher(new Dispatcher(new Container()));
     $this->capsule->setAsGlobal();
 }
Пример #4
0
 protected function setConnection(array $connection)
 {
     $this->capsule = new Capsule();
     $this->capsule->addConnection($connection);
     $this->capsule->setAsGlobal();
     $this->capsule->bootEloquent();
 }
Пример #5
0
 protected function setUpDatabase()
 {
     $db = new DB();
     $db->addConnection(['driver' => 'sqlite', 'database' => ':memory:'], 'default');
     $db->addConnection(['driver' => 'sqlite', 'database' => ':memory:'], 'alt');
     $db->bootEloquent();
     $db->setAsGlobal();
 }
Пример #6
0
 /**
  * @return \Illuminate\Database\Capsule\Manager
  */
 public function getCapsule()
 {
     if (!$this->capsule) {
         $this->capsule = new Capsule();
         $this->capsule->addConnection($this->configuration);
         $this->capsule->setAsGlobal();
     }
     return $this->capsule;
 }
Пример #7
0
 protected function createConnection()
 {
     $this->capsule = new Capsule();
     $this->capsule->addConnection(['driver' => 'sqlite', 'database' => __DIR__ . '/db/testing.sqlite', 'prefix' => '']);
     $this->capsule->setFetchMode(PDO::FETCH_CLASS);
     $this->capsule->setAsGlobal();
     $this->capsule->bootEloquent();
     $this->capsule->getConnection()->enableQueryLog();
 }
Пример #8
0
 /**
  * {@inheritdoc}
  */
 public function bootstrap($app)
 {
     $this->capsule = new Manager();
     $this->capsule->addConnection(['driver' => $this->driver, 'host' => $this->host, 'database' => $this->database, 'username' => $this->username, 'password' => $this->password, 'charset' => $this->charset, 'collation' => $this->collation, 'prefix' => $this->prefix]);
     $this->capsule->setEventDispatcher(new Dispatcher(new Container()));
     $this->capsule->setAsGlobal();
     $this->capsule->bootEloquent();
     $app->set('db', $this->capsule);
 }
Пример #9
0
 /**
  * set up eloquent for test
  */
 public static function setUpBeforeClass()
 {
     parent::setUpBeforeClass();
     self::$manager = new Manager();
     // TODO: add dotenv and extract for reuse
     self::$manager->addConnection(['driver' => 'mysql', 'host' => 'localhost', 'database' => 'grimm', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'engine' => null]);
     self::$manager->setAsGlobal();
     self::$manager->bootEloquent();
 }
Пример #10
0
 /**
  * @param array $credentials
  */
 public function addDbConnection($credentials = [])
 {
     if (empty($credentials)) {
         $bitrixDbCredentials = \Bitrix\Main\Application::getInstance()->getConnection()->getConfiguration();
         $credentials = ['driver' => 'mysql', 'database' => $bitrixDbCredentials['database'], 'username' => $bitrixDbCredentials['login'], 'password' => $bitrixDbCredentials['password'], 'host' => $bitrixDbCredentials['host'], 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false];
     }
     $this->capsule->addConnection($credentials);
     $this->capsule->setAsGlobal();
     $this->capsule->bootEloquent();
 }
Пример #11
0
 /**
  * Database constructor.
  */
 public function __construct()
 {
     $this->capsule = new Manager();
     /**
      * Add a connection
      */
     $this->capsule->addConnection($this->GetDatabaseSettings());
     /**
      * Globalise it
      */
     $this->capsule->setAsGlobal();
 }
Пример #12
0
 /**
  * Open the database connection with the credentials from application/config/config.php
  */
 private function openDatabaseConnection()
 {
     $capsule = new Capsule();
     if (DB_DRIVER == 'sqlite') {
         $capsule->addConnection(['driver' => 'sqlite', 'database' => __DIR__ . '/../database/api.sqlite3', 'prefix' => '']);
     }
     if (DB_DRIVER == 'mysql') {
         $capsule->addConnection(['driver' => 'mysql', 'host' => '127.0.0.1', 'port' => '3306', 'database' => DB_NAME, 'username' => DB_USER, 'password' => DB_PASS, 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false]);
     }
     $capsule->setAsGlobal();
     //make connection available globally
     $capsule->bootEloquent();
 }
Пример #13
0
 /**
  * @return \Illuminate\Database\Capsule\Manager
  */
 public static function instance()
 {
     if (static::$_instance === null) {
         $config = Config::get("database");
         static::$_instance = new \Illuminate\Database\Capsule\Manager();
         if ($config["connections"] && is_array($config["connections"])) {
             foreach ($config["connections"] as $key => $cfg) {
                 static::$_instance->addConnection($cfg, $key);
             }
         }
         static::$_instance->setAsGlobal();
     }
     return static::$_instance;
 }
Пример #14
0
 /**
  * Create the connection
  *
  * @return bool
  */
 public function CreateConnection()
 {
     $information = $this->GetInformation();
     if ($information == null) {
         return false;
     }
     try {
         $this->database->addConnection($information);
         $this->database->setAsGlobal();
     } catch (\Exception $error) {
         return false;
     }
     return true;
 }
Пример #15
0
 public function __construct()
 {
     $config = Tempest::get()->config->get('db');
     if (!empty($config)) {
         $config = array_merge(array('driver' => 'mysql', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci'), $config);
         $connection = $this->parseConnectionString(ObjectUtil::getDeepValue($config, 'connection'));
         $connection = array_merge($config, $connection);
         $this->_capsule = new Manager();
         $this->_capsule->addConnection($connection);
         $this->_capsule->setAsGlobal();
         $this->_capsule->bootEloquent();
     } else {
         throw new Exception('No database connection details were provided by the application.');
     }
 }
Пример #16
0
    public function setUp()
    {
        $this->capsule = new \Illuminate\Database\Capsule\Manager();
        $this->capsule->addConnection(['driver' => 'sqlite', 'database' => ':memory:']);
        $this->capsule->setAsGlobal();
        $this->capsule->bootEloquent();
        $ddl = <<<SQL
CREATE TABLE `sessions` (
  `id` varchar(255) NOT NULL UNIQUE,
  `payload` text NOT NULL,
  `last_activity` int(11) NOT NULL
)
SQL;
        $this->capsule->getConnection()->getPdo()->exec($ddl);
    }
Пример #17
0
 /**
  * Init capsule
  */
 public function initCapsule()
 {
     $this->capsule = new Capsule();
     switch ($this->configDatabase['driver']) {
         case 'mysql':
             $configConnection = ['driver' => 'mysql', 'host' => $this->configDatabase['host'], 'database' => $this->configDatabase['database'], 'username' => $this->configDatabase['username'], 'password' => $this->configDatabase['password'], 'charset' => $this->configDatabase['charset'], 'collation' => $this->configDatabase['collation']];
             if (isset($this->configDatabase['prefix'])) {
                 $configConnection['prefix'] = $this->configDatabase['prefix'];
             }
             $this->capsule->addConnection($configConnection);
             break;
     }
     $this->capsule->setAsGlobal();
     $this->capsule->bootEloquent();
 }
Пример #18
0
 /**
  * Build console entry point
  * @param array|null $services
  * @throws \Ffcms\Core\Exception\NativeException
  */
 public static function init(array $services = null)
 {
     self::$Properties = new Properties();
     self::$Input = new Input();
     self::$Output = new Output();
     // establish database link
     if (Obj::isArray(self::$Properties->get('database')) && (isset($services['Database']) && $services['Database'] === true || $services === null)) {
         self::$Database = new Capsule();
         self::$Database->addConnection(self::$Properties->get('database'));
         // Make this Capsule instance available globally via static methods... (optional)
         self::$Database->setAsGlobal();
         // Setup the Eloquent ORM... (optional; unless you've used setEventDispatcher())
         self::$Database->bootEloquent();
     }
 }
Пример #19
0
 public function boot()
 {
     $capsule = new Capsule();
     $config = app()->make('config')->get('database.connections');
     foreach ($config as $k => $v) {
         $capsule->addConnection($v, $k);
     }
     $default = app()->make('config')->get('database')['default'];
     if ($default) {
         if (isset($config[$default])) {
             $capsule->addConnection($config[$default], 'default');
         }
     }
     $capsule->bootEloquent();
 }
Пример #20
0
 /**
  * Adds a connection
  */
 public function AddConnection()
 {
     /**
      * Lets get our database settings
      */
     $settings = Settings::GetDatabaseSettings();
     /**
      * Then lets start a connection
      */
     $this->capsule->addConnection($settings);
     /**
      * Then lets globalise this connection
      */
     $this->capsule->setAsGlobal();
 }
 /**
  * Configure the database
  */
 private function configureDatabase()
 {
     $db = new DB();
     $db->addConnection(['driver' => 'sqlite', 'database' => ':memory:', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '']);
     $db->bootEloquent();
     $db->setAsGlobal();
 }
Пример #22
0
 public static function createConn()
 {
     $capsule = new DB();
     $capsule->addConnection(parse_ini_file("./config/config.ini"));
     $capsule->setAsGlobal();
     $capsule->bootEloquent();
 }
Пример #23
0
 public function __construct()
 {
     $capsule = new Capsule();
     $capsule->addConnection(['driver' => 'mysql', 'host' => 'localhost', 'database' => 'designpatternscourse', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_general_ci', 'prefix' => '']);
     $capsule->setEventDispatcher(new Dispatcher(new Container()));
     $capsule->bootEloquent();
 }
Пример #24
0
 public function __construct($config = [])
 {
     $capsule = new Capsule;
     $capsule->addConnection($config);
     $capsule->bootEloquent();
     return $capsule;
 }
Пример #25
0
 public function __construct()
 {
     $capsule = new Capsule();
     $capsule->addConnection(["driver" => "mysql", "host" => "localhost", "database" => "development", "username" => "developer", "password" => "developer", "charset" => "utf8", "collation" => "utf8_general_ci", "prefix" => ""]);
     $capsule->setEventDispatcher(new Dispatcher(new Container()));
     $capsule->bootEloquent();
 }
Пример #26
0
 /**
  * Connect to the Wordpress database
  * 
  * @param array $params
  */
 public static function connect(array $params)
 {
     $capsule = new Capsule();
     $params = array_merge(static::$baseParams, $params);
     $capsule->addConnection($params);
     $capsule->bootEloquent();
 }
Пример #27
0
 /**
  * @param MvcEvent $event
  */
 public function onBootstrap(MvcEvent $event)
 {
     $eventManager = $event->getApplication()->getEventManager();
     $moduleRouteListener = new ModuleRouteListener();
     $moduleRouteListener->attach($eventManager);
     $app = $event->getApplication();
     $serviceManager = $app->getServiceManager();
     // Set the Query Profiler
     $profiler = new DoplioFirePhpProfiler();
     $capsule = new Capsule();
     $config = $serviceManager->get('config')['database'];
     foreach ($config as $connName => $dbConfig) {
         $capsule->addConnection($dbConfig, $connName);
         if (isset($dbConfig['profiler']) && $dbConfig['profiler'] === TRUE) {
             $profiler->enable();
         }
     }
     //        $capsule->setCacheManager();
     $capsule->bootEloquent();
     $serviceManager->setService('Doplio', $capsule);
     $serviceManager->setService('DoplioFirePhpProfiler', $profiler);
     $eventManager->attach(MvcEvent::EVENT_FINISH, function () use($capsule, $config, $profiler) {
         if ($profiler->isDisabled()) {
             return;
         }
         foreach ($config as $connectionName => $notUsed) {
             $connection = $capsule->getConnection($connectionName);
             foreach ($connection->getQueryLog() as $query) {
                 $profiler->addQuery($query, $connectionName);
             }
         }
         $profiler->showTables();
     });
 }
 public function setUp()
 {
     Eloquent::unguard();
     $db = new DB();
     $db->addConnection(['driver' => 'sqlite', 'database' => ':memory:']);
     $db->bootEloquent();
     $db->setAsGlobal();
     $this->schema()->create('users', function ($table) {
         $table->increments('id');
         $table->string('email');
         $table->string('first_name');
         $table->string('last_name');
         $table->timestamps();
     });
     $this->schema()->create('subscriptions', function ($table) {
         $table->increments('id');
         $table->string('subscription_id');
         $table->string('plan_id');
         $table->integer('user_id')->index()->unsigned();
         $table->integer('quantity')->default(1);
         $table->integer('last_four')->nullable();
         $table->timestamp('ends_at')->nullable();
         $table->timestamp('trial_ends_at')->nullable();
         $table->timestamp('next_billing_at')->nullable();
         $table->timestamps();
     });
     $this->schema()->create('addons', function ($table) {
         $table->increments('id');
         $table->integer('subscription_id')->index()->unsigned();
         $table->string('addon_id');
         $table->integer('quantity')->default(0);
         $table->timestamps();
     });
 }
 public static function setupBeforeClass()
 {
     $db = new DB();
     $db->addConnection(['driver' => 'sqlite', 'database' => ':memory:', 'prefix' => '']);
     $db->setAsGlobal();
     $db->bootEloquent();
     $db->schema()->create('voucher_campaigns', function ($table) {
         $table->increments('id');
         $table->timestamps();
         $table->string('name');
         $table->string('brand');
         $table->string('urn')->unique();
         $table->integer('expiry_limit')->default('14');
         $table->boolean('is_active')->default('1');
     });
     $db->schema()->create('voucher_entries', function ($table) {
         $table->increments('id');
         $table->timestamps();
         $table->string('hash')->unique();
         $table->integer('campaign_id');
         $table->boolean('is_redeemed')->default('0');
         $table->datetime('redeemed_at')->default('0000-00-00 00:00:00');
         $table->boolean('is_expired')->default('0');
         $table->datetime('expired_at')->default('0000-00-00 00:00:00');
         $table->boolean('is_valid')->default('1');
     });
     parent::setupBeforeClass();
     static::$fm->seed(5, 'Fastwebmedia\\LaravelVouchering\\Models\\Campaign');
     static::$fm->seed(5, 'Fastwebmedia\\LaravelVouchering\\Models\\Voucher');
 }
Пример #30
0
 /**
  * Create fake sqlite database connection
  */
 protected function setupDatabase()
 {
     $database = new DB();
     $database->addConnection(["driver" => "sqlite", "database" => ":memory:"]);
     // $database->bootEloquent();
     $database->setAsGlobal();
 }