[ADD] Models: Artist, Album and Song

refactor_total
Brett Spaulding 1 year ago
parent 6738d544ca
commit 6c049a1675

@ -0,0 +1,11 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Album extends Model
{
use HasFactory;
}

@ -0,0 +1,11 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Artist extends Model
{
use HasFactory;
}

@ -0,0 +1,11 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Song extends Model
{
use HasFactory;
}

@ -0,0 +1,31 @@
<?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
{
Schema::create('artists', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->string('name');
$table->string('image')->nullable();
$table->string('url_remote')->nullable();
$table->string('url_local')->nullable();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('artists');
}
};

@ -0,0 +1,38 @@
<?php
use App\Models\Artist;
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
{
Schema::create('albums', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->string('name');
$table->string('image')->nullable();
$table->foreignId('artist_id')->constrained(Artist::class);
$table->string('url_remote')->nullable();
$table->string('url_local')->nullable();
$table->enum('state', [
'pending',
'in_progress',
'done',
])->default('pending');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('albums');
}
};

@ -0,0 +1,37 @@
<?php
use App\Models\Album;
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
{
Schema::create('songs', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->string('name');
$table->foreignId('album_id')->constrained(Album::class);
$table->string('url_remote')->nullable();
$table->string('url_local')->nullable();
$table->enum('state', [
'pending',
'in_progress',
'done',
])->default('pending');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('songs');
}
};
Loading…
Cancel
Save