database/migrations/2014_04_24_111002_create_oauth_sessions_table.php
<?php
/*
* This file is part of OAuth 2.0 Laravel.
*
* (c) Luca Degasperi <packages@lucadegasperi.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
/**
* This is the create oauth sessions table migration class.
*
* @author Luca Degasperi <packages@lucadegasperi.com>
*/
class CreateOauthSessionsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('oauth_sessions', function (Blueprint $table) {
$table->increments('id');
$table->string('client_id', 40);
$table->enum('owner_type', ['client', 'user'])->default('user');
$table->string('owner_id');
$table->string('client_redirect_uri')->nullable();
$table->nullableTimestamps();
$table->index(['client_id', 'owner_type', 'owner_id']);
$table->foreign('client_id')
->references('id')->on('oauth_clients')
->onDelete('cascade')
->onUpdate('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('oauth_sessions', function (Blueprint $table) {
$table->dropForeign('oauth_sessions_client_id_foreign');
});
Schema::drop('oauth_sessions');
}
}