id(); $table->timestamps(); $table->integer('site_id')->unsigned(); $table->bigInteger('realm_id')->unsigned(); $table->text('access_token'); $table->datetime('access_token_expires_at'); $table->string('refresh_token'); $table->datetime('refresh_token_expires_at'); $table->integer('user_id')->unsigned(); $table->foreign(['user_id','site_id'])->references(['id','site_id'])->on('users'); $table->integer('provider_oauth_id')->unsigned(); $table->foreign(['provider_oauth_id','site_id'])->references(['id','site_id'])->on('provider_oauth'); $table->unique(['id','site_id']); $table->unique(['provider_oauth_id','user_id']); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('provider_tokens'); } };