|
| 1 | +<?php |
| 2 | + |
| 3 | +use Illuminate\Database\Schema\Blueprint; |
| 4 | +use Illuminate\Database\Migrations\Migration; |
| 5 | + |
| 6 | +class CreateDatabase extends Migration { |
| 7 | + |
| 8 | + /** |
| 9 | + * Run the migrations. |
| 10 | + * |
| 11 | + * @return void |
| 12 | + */ |
| 13 | + public function up() |
| 14 | + { |
| 15 | + $schema = <<<SCHEMA |
| 16 | +CREATE TABLE oauth_clients (client_id VARCHAR(80) NOT NULL, client_secret VARCHAR(80) NOT NULL, redirect_uri VARCHAR(2000) NOT NULL, grant_types VARCHAR(80), scope VARCHAR(100), user_id VARCHAR(80), CONSTRAINT client_id_pk PRIMARY KEY (client_id)); |
| 17 | +CREATE TABLE oauth_access_tokens (access_token VARCHAR(40) NOT NULL, client_id VARCHAR(80) NOT NULL, user_id VARCHAR(255), expires TIMESTAMP NOT NULL, scope VARCHAR(2000), CONSTRAINT access_token_pk PRIMARY KEY (access_token)); |
| 18 | +CREATE TABLE oauth_authorization_codes (authorization_code VARCHAR(40) NOT NULL, client_id VARCHAR(80) NOT NULL, user_id VARCHAR(255), redirect_uri VARCHAR(2000), expires TIMESTAMP NOT NULL, scope VARCHAR(2000), CONSTRAINT auth_code_pk PRIMARY KEY (authorization_code)); |
| 19 | +CREATE TABLE oauth_refresh_tokens (refresh_token VARCHAR(40) NOT NULL, client_id VARCHAR(80) NOT NULL, user_id VARCHAR(255), expires TIMESTAMP NOT NULL, scope VARCHAR(2000), CONSTRAINT refresh_token_pk PRIMARY KEY (refresh_token)); |
| 20 | +CREATE TABLE oauth_users (username VARCHAR(255) NOT NULL, password VARCHAR(2000), first_name VARCHAR(255), last_name VARCHAR(255), CONSTRAINT username_pk PRIMARY KEY (username)); |
| 21 | +CREATE TABLE oauth_scopes (scope TEXT, is_default BOOLEAN); |
| 22 | +CREATE TABLE oauth_jwt (client_id VARCHAR(80) NOT NULL, subject VARCHAR(80), public_key VARCHAR(2000), CONSTRAINT client_id_pk PRIMARY KEY (client_id)); |
| 23 | +SCHEMA; |
| 24 | + |
| 25 | + foreach (explode("\n", $schema) as $statement) { |
| 26 | + DB::statement($statement); |
| 27 | + } |
| 28 | + } |
| 29 | + |
| 30 | + /** |
| 31 | + * Reverse the migrations. |
| 32 | + * |
| 33 | + * @return void |
| 34 | + */ |
| 35 | + public function down() |
| 36 | + { |
| 37 | + DB::statement('DROP TABLE oauth_clients, oauth_access_tokens, oauth_authorization_codes, oauth_refresh_tokens, oauth_users, oauth_scopes, oauth_jwt'); |
| 38 | + } |
| 39 | + |
| 40 | +} |
0 commit comments