wire postgres session repo, migrations, seed, and dev serve

This commit is contained in:
Yisroel Baum 2026-05-17 22:01:27 +03:00
parent 02effe761a
commit 89b63cb9e9
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
8 changed files with 235 additions and 2 deletions

View file

@ -0,0 +1,34 @@
<?php
namespace App\Database;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class SessionModel extends Model
{
protected $table = 'sessions';
public $timestamps = false;
protected $primaryKey = 'token';
public $incrementing = false;
protected $fillable = [
'token',
'user_id',
'expires_at',
'created_at',
];
protected $casts = [
'expires_at' => 'datetime',
'created_at' => 'datetime',
];
public function user(): BelongsTo
{
return $this->belongsTo(UserModel::class, 'user_id');
}
}

View file

@ -0,0 +1,30 @@
<?php
namespace App\Database\Migrations;
use App\Database\Migration;
use Illuminate\Database\Capsule\Manager as Capsule;
class CreateSessionsTable extends Migration
{
public function up(): void
{
Capsule::schema()->create('sessions', function ($table) {
$table->string('token')->primary();
$table->integer('user_id')->unsigned();
$table->foreign('user_id')
->references('id')
->on('users')
->cascadeOnDelete();
$table->dateTime('expires_at');
$table->dateTime('created_at');
});
}
public function down(): void
{
Capsule::schema()->dropIfExists('sessions');
}
}
return CreateSessionsTable::class;