added key and session tasks.
This commit is contained in:
parent
20b4cf7bb8
commit
27fdb1e3f5
|
@ -35,6 +35,17 @@
|
||||||
return new Tasks\Key;
|
return new Tasks\Key;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The session task is responsible for performing tasks related
|
||||||
|
* to the session store of the application. It can do things
|
||||||
|
* such as generating the session table or clearing expired
|
||||||
|
* sessions from storage.
|
||||||
|
*/
|
||||||
|
IoC::singleton('task: session', function()
|
||||||
|
{
|
||||||
|
return new Tasks\Session;
|
||||||
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The bundle repository is responsible for communicating with
|
* The bundle repository is responsible for communicating with
|
||||||
* the Laravel bundle sources to get information regarding any
|
* the Laravel bundle sources to get information regarding any
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
<?php namespace Laravel\CLI\Tasks;
|
||||||
|
|
||||||
|
use Laravel\File;
|
||||||
|
use Laravel\Config;
|
||||||
|
use Laravel\Database\Schema;
|
||||||
|
use Laravel\Session\Drivers\Sweeper;
|
||||||
|
|
||||||
|
class Session extends Task {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generate the session table on the database.
|
||||||
|
*
|
||||||
|
* @param array $arguments
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function table($arguments = array())
|
||||||
|
{
|
||||||
|
Schema::table(Config::get('session.table'), function($table)
|
||||||
|
{
|
||||||
|
$table->create();
|
||||||
|
|
||||||
|
// The session table consists simply of a ID, a UNIX timestamp to
|
||||||
|
// indicate the expiration time, and a blob field which will hold
|
||||||
|
// the serialized form of the session payload.
|
||||||
|
$table->string('id')->length(40)->primary('session_primary');
|
||||||
|
|
||||||
|
$table->integer('last_activity');
|
||||||
|
|
||||||
|
$table->text('data');
|
||||||
|
});
|
||||||
|
|
||||||
|
// By default no session driver is specified in the configuration.
|
||||||
|
// Since the developer is requesting that the session table be
|
||||||
|
// created on the database, we'll set the driver to database
|
||||||
|
// to save an extra step for the developer.
|
||||||
|
$config = File::get(APP_PATH.'config/session'.EXT);
|
||||||
|
|
||||||
|
$config = str_replace("'driver' => '',", "'driver' => 'database',", $config);
|
||||||
|
|
||||||
|
File::put(APP_PATH.'config/session'.EXT, $config);
|
||||||
|
|
||||||
|
echo "The table has been created! Database set as session driver.";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sweep the expired sessions from storage.
|
||||||
|
*
|
||||||
|
* @param array $arguments
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function sweep($arguments = array())
|
||||||
|
{
|
||||||
|
$driver = \Laravel\Session::factory(Config::get('session.driver'));
|
||||||
|
|
||||||
|
// If the driver implements the "Sweeper" interface, we know that
|
||||||
|
// it can sweep expired sessions from storage. Not all drivers
|
||||||
|
// need be sweepers, as stores like Memcached and APC will
|
||||||
|
// perform their own garbage collection.
|
||||||
|
if ($driver instanceof Sweeper)
|
||||||
|
{
|
||||||
|
$lifetime = Config::get('session.lifetime');
|
||||||
|
|
||||||
|
$driver->sweep(time() - ($lifetime * 60));
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "The session table has been swept!";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -92,6 +92,7 @@
|
||||||
'Laravel\\CLI\\Tasks\\Migrate\\Resolver' => SYS_PATH.'cli/tasks/migrate/resolver'.EXT,
|
'Laravel\\CLI\\Tasks\\Migrate\\Resolver' => SYS_PATH.'cli/tasks/migrate/resolver'.EXT,
|
||||||
'Laravel\\CLI\\Tasks\\Migrate\\Database' => SYS_PATH.'cli/tasks/migrate/database'.EXT,
|
'Laravel\\CLI\\Tasks\\Migrate\\Database' => SYS_PATH.'cli/tasks/migrate/database'.EXT,
|
||||||
'Laravel\\CLI\\Tasks\\Key' => SYS_PATH.'cli/tasks/key'.EXT,
|
'Laravel\\CLI\\Tasks\\Key' => SYS_PATH.'cli/tasks/key'.EXT,
|
||||||
|
'Laravel\\CLI\\Tasks\\Session' => SYS_PATH.'cli/tasks/session'.EXT,
|
||||||
|
|
||||||
'Laravel\\Database\\Connection' => SYS_PATH.'database/connection'.EXT,
|
'Laravel\\Database\\Connection' => SYS_PATH.'database/connection'.EXT,
|
||||||
'Laravel\\Database\\Expression' => SYS_PATH.'database/expression'.EXT,
|
'Laravel\\Database\\Expression' => SYS_PATH.'database/expression'.EXT,
|
||||||
|
|
|
@ -29,7 +29,6 @@ public static function table($table, $callback)
|
||||||
*/
|
*/
|
||||||
public static function execute($table)
|
public static function execute($table)
|
||||||
{
|
{
|
||||||
die('here');
|
|
||||||
foreach ($table->commands as $command)
|
foreach ($table->commands as $command)
|
||||||
{
|
{
|
||||||
$connection = DB::connection($table->connection);
|
$connection = DB::connection($table->connection);
|
||||||
|
|
|
@ -144,7 +144,7 @@ protected function incrementer(Table $table, Fluent $column)
|
||||||
*/
|
*/
|
||||||
public function primary(Table $table, Fluent $command)
|
public function primary(Table $table, Fluent $command)
|
||||||
{
|
{
|
||||||
return $this->key($table, $command, 'PRIMARY KEY');
|
return $this->key($table, $command->name(null), 'PRIMARY KEY');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -67,7 +67,7 @@ public function create()
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @return Fluent
|
* @return Fluent
|
||||||
*/
|
*/
|
||||||
public function primary($columns, $name)
|
public function primary($columns, $name = null)
|
||||||
{
|
{
|
||||||
return $this->key(__FUNCTION__, $columns, $name);
|
return $this->key(__FUNCTION__, $columns, $name);
|
||||||
}
|
}
|
||||||
|
@ -148,7 +148,7 @@ public function drop_column($columns)
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function drop_primary($name)
|
public function drop_primary($name = null)
|
||||||
{
|
{
|
||||||
return $this->drop_key(__FUNCTION__, $name);
|
return $this->drop_key(__FUNCTION__, $name);
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ public static function start($driver)
|
||||||
* @param string $driver
|
* @param string $driver
|
||||||
* @return Driver
|
* @return Driver
|
||||||
*/
|
*/
|
||||||
protected static function factory($driver)
|
public static function factory($driver)
|
||||||
{
|
{
|
||||||
switch ($driver)
|
switch ($driver)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue