Clockwork\Storage\SqlStorage::initialize PHP Метод

initialize() публичный Метод

Create the Clockwork metadata table if it doesn't exist
public initialize ( )
    public function initialize()
    {
        try {
            $initialized = $this->pdo->query("SELECT 1 FROM {$this->table} LIMIT 1");
        } catch (\Exception $e) {
            $initialized = false;
        }
        if ($initialized !== false) {
            return;
        }
        $this->pdo->exec("CREATE TABLE {$this->table} (" . 'id VARCHAR(100), ' . 'version INTEGER, ' . 'time DOUBLE NULL, ' . 'method VARCHAR(10) NULL, ' . 'uri VARCHAR(250) NULL, ' . 'headers MEDIUMTEXT NULL, ' . 'controller VARCHAR(250) NULL, ' . 'getData MEDIUMTEXT NULL, ' . 'postData MEDIUMTEXT NULL, ' . 'sessionData MEDIUMTEXT NULL, ' . 'cookies MEDIUMTEXT NULL, ' . 'responseTime DOUBLE NULL, ' . 'responseStatus INTEGER NULL, ' . 'responseDuration DOUBLE NULL, ' . 'databaseQueries MEDIUMTEXT NULL, ' . 'databaseDuration DOUBLE NULL, ' . 'timelineData MEDIUMTEXT NULL, ' . 'log MEDIUMTEXT NULL, ' . 'routes MEDIUMTEXT NULL, ' . 'emailsData MEDIUMTEXT NULL, ' . 'viewsData MEDIUMTEXT NULL, ' . 'userData MEDIUMTEXT NULL' . ');');
    }

Usage Example

Пример #1
0
 public function getStorage()
 {
     if ($this->getConfig('storage', 'files') == 'sql') {
         $database = $this->getConfig('storage_sql_database', storage_path('clockwork.sqlite'));
         $table = $this->getConfig('storage_sql_table', 'clockwork');
         if ($this->app['config']->get("database.connections.{$database}")) {
             $database = $this->app['db']->connection($database)->getPdo();
         } else {
             $database = "sqlite:{$database}";
         }
         $storage = new SqlStorage($database, $table);
         $storage->initialize();
     } else {
         $storage = new FileStorage($this->getConfig('storage_files_path', storage_path('clockwork')));
     }
     $storage->filter = $this->getFilter();
     return $storage;
 }