moving back to auto-incrementing IDs because of performance

This commit is contained in:
Brian 2022-09-27 11:54:02 -06:00
parent 400edc9b38
commit b7ac751b10
Signed by: brian
GPG Key ID: DE1A5390A3B84CD8
7 changed files with 9 additions and 41 deletions

View File

@ -3,7 +3,6 @@
namespace App\Models;
use App\Models\Traits\FormattedAddressTrait;
use App\Models\Traits\HasUidTrait;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
@ -14,18 +13,11 @@ class Address extends Model
{
use FormattedAddressTrait;
use HasFactory;
use HasUidTrait;
use Prunable;
/** @var string */
protected $table = 'addresses';
/** @var string */
protected $keyType = 'string';
/** @var bool */
public $incrementing = false;
/** @var array */
protected $fillable = [
'addressable_type',

View File

@ -1,17 +0,0 @@
<?php
namespace App\Models;
use App\Models\Traits\HasUidTrait;
use Laravel\Sanctum\PersonalAccessToken as SanctumPersonalAccessToken;
class PersonalAccessToken extends SanctumPersonalAccessToken
{
use HasUidTrait;
/** @var string */
protected $keyType = 'string';
/** @var bool */
public $incrementing = false;
}

View File

@ -2,7 +2,6 @@
namespace App\Models;
use App\Models\Traits\HasUidTrait;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Prunable;
@ -20,7 +19,6 @@ class User extends Authenticatable
use HasFactory;
use HasProfilePhoto;
use HasTeams;
use HasUidTrait;
use Notifiable;
use Prunable;
use TwoFactorAuthenticatable;

View File

@ -14,7 +14,7 @@ return new class extends Migration
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->string('id', 64)->primary();
$table->id();
$table->string('name');
$table->string('surname');
$table->string('email')->unique();

View File

@ -15,7 +15,7 @@ return new class extends Migration
{
Schema::create('sessions', function (Blueprint $table) {
$table->string('id')->primary();
$table->string('user_id', 64)->nullable()->index();
$table->foreignId('user_id')->nullable()->index();
$table->string('ip_address', 45)->nullable();
$table->text('user_agent')->nullable()->index();
$table->text('payload');

View File

@ -14,8 +14,8 @@ return new class extends Migration
public function up()
{
Schema::create('addresses', function (Blueprint $table) {
$table->string('id', 64)->primary();
$table->uuidMorphs('addressable');
$table->id();
$table->morphs('addressable');
$table->string('street');
$table->string('unit')->nullable();
$table->string('city');

View File

@ -14,16 +14,11 @@ return new class extends Migration
public function up()
{
Schema::create('address_user', function (Blueprint $table) {
$table->string('address_id', 64);
$table->string('user_id', 64);
$table->foreign('address_id')
->references('id')->on('addresss')
->cascadeOnUpdate()->cascadeOnDelete();
$table->foreign('user_id')
->references('id')->on('users')
->cascadeOnUpdate()->cascadeOnDelete();
$table->id();
$table->foreignId('address_id')->constrained()->cascadeOnUpdate()->cascadeOnDelete();
$table->foreignId('user_id')->constrained()->cascadeOnUpdate()->cascadeOnDelete();
$table->timestamp('created_at')->useCurrent();
$table->timestamp('updated_at')->nullable()->useCurrentOnUpdate();
});
}