|
|
|
<?php
|
|
|
|
|
|
|
|
use Illuminate\Database\Migrations\Migration;
|
|
|
|
use Illuminate\Database\Schema\Blueprint;
|
|
|
|
use Illuminate\Support\Facades\Schema;
|
|
|
|
|
|
|
|
return new class extends Migration
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Run the migrations.
|
|
|
|
*/
|
|
|
|
public function up(): void
|
|
|
|
{
|
|
|
|
if (!Schema::connection('pgsql_rauru')->hasTable('games')) {
|
|
|
|
Schema::connection('pgsql_rauru')->create('games', function (Blueprint $table) {
|
|
|
|
$table->increments('id');
|
|
|
|
$table->json('age_ratings');
|
|
|
|
$table->string('aggregated_rating')->nullable();
|
|
|
|
$table->integer('aggregated_rating_count')->nullable();
|
|
|
|
$table->json('alternative_names');
|
|
|
|
$table->json('artworks')->nullable();
|
|
|
|
$table->json('bundles')->nullable();
|
|
|
|
$table->string('category');//enum
|
|
|
|
$table->uuid('checksum');
|
|
|
|
$table->json('collection')->nullable();
|
|
|
|
//$table->string('cover_id');
|
|
|
|
//$table->string('cover_image_path');
|
|
|
|
$table->json('cover');
|
|
|
|
$table->json('dlcs')->nullable();
|
|
|
|
$table->json('expansions')->nullable();
|
|
|
|
$table->json('expanded_games')->nullable();
|
|
|
|
$table->json('external_games');//IDs on other Platforms
|
|
|
|
$table->integer('first_release_date'); #Timestamp
|
|
|
|
$table->integer('follows')->nullable();
|
|
|
|
$table->json('forks')->nullable();
|
|
|
|
$table->json('franchise')->nullable();
|
|
|
|
$table->json('franchises')->nullable();
|
|
|
|
$table->json('game_engines')->nullable();
|
|
|
|
$table->json('game_localizations')->nullable();
|
|
|
|
$table->json('game_modes')->nullable();
|
|
|
|
$table->json('genres');
|
|
|
|
$table->integer('hypes')->nullable();
|
|
|
|
$table->json('involved_companies');
|
|
|
|
$table->json('keywords');
|
|
|
|
$table->json('language_supports')->nullable();
|
|
|
|
$table->json('multiplayer_modes')->nullable();
|
|
|
|
$table->string('name');
|
|
|
|
$table->string('parent_game')->nullable();
|
|
|
|
$table->json('platforms');
|
|
|
|
$table->json('player_perspectives')->nullable();
|
|
|
|
$table->json('ports')->nullable();
|
|
|
|
$table->string('rating');//formated double
|
|
|
|
$table->integer('rating_count');
|
|
|
|
$table->json('release_dates')->nullable();
|
|
|
|
$table->json('remakes')->nullable();
|
|
|
|
$table->json('remasters')->nullable();
|
|
|
|
$table->json('screenshots')->nullable();
|
|
|
|
$table->json('similar_games');
|
|
|
|
$table->string('slug');
|
|
|
|
$table->json('standalone_expansions')->nullable();
|
|
|
|
$table->integer('status')->nullable();//enum
|
|
|
|
$table->text('storyline')->nullable();
|
|
|
|
$table->text('summary');
|
|
|
|
$table->json('tags');
|
|
|
|
$table->json('themes');
|
|
|
|
$table->double('total_rating');//formated double
|
|
|
|
$table->integer('total_rating_count');
|
|
|
|
#$table->date('updated_at');
|
|
|
|
$table->string('url');//IGDB Url
|
|
|
|
$table->string('version_parent')->nullable();
|
|
|
|
$table->string('version_title')->nullable();
|
|
|
|
$table->json('videos')->nullable();
|
|
|
|
$table->json('websites');
|
|
|
|
|
|
|
|
$table->timestamps();
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Reverse the migrations.
|
|
|
|
*/
|
|
|
|
public function down(): void
|
|
|
|
{
|
|
|
|
if (Schema::connection('pgsql_rauru')->hasTable('games')) {
|
|
|
|
Schema::connection('pgsql_rauru')->dropIfExists('games');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|