fix: adding indexes to tables
This commit is contained in:
parent
d5c7e9e4f5
commit
7772be7dc5
@ -0,0 +1,34 @@
|
|||||||
|
<?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::table('artworks', function (Blueprint $table) {
|
||||||
|
$table->index('podcast_id');
|
||||||
|
$table->index('artist_id');
|
||||||
|
$table->index('episode_id');
|
||||||
|
$table->index('legacy_id');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::table('artworks', function (Blueprint $table) {
|
||||||
|
$table->dropIndex('podcast_id');
|
||||||
|
$table->dropIndex('artist_id');
|
||||||
|
$table->dropIndex('episode_id');
|
||||||
|
$table->dropIndex('legacy_id');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
@ -0,0 +1,28 @@
|
|||||||
|
<?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::table('artists', function (Blueprint $table) {
|
||||||
|
$table->index('user_id');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::table('artists', function (Blueprint $table) {
|
||||||
|
$table->dropIndex('user_id');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
@ -0,0 +1,28 @@
|
|||||||
|
<?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::table('podcasts', function (Blueprint $table) {
|
||||||
|
$table->index('published');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::table('podcasts', function (Blueprint $table) {
|
||||||
|
$table->dropIndex('published');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
@ -0,0 +1,34 @@
|
|||||||
|
<?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::table('episodes', function (Blueprint $table) {
|
||||||
|
$table->index('podcast_id');
|
||||||
|
$table->index('artwork_id');
|
||||||
|
$table->index('episode_date');
|
||||||
|
$table->index('published');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::table('episodes', function (Blueprint $table) {
|
||||||
|
$table->dropIndex('podcast_id');
|
||||||
|
$table->dropIndex('artwork_id');
|
||||||
|
$table->dropIndex('episode_date');
|
||||||
|
$table->dropIndex('published');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
@ -18,3 +18,15 @@ img.avatar_img {
|
|||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
|
label[for=avatar] {
|
||||||
|
img {
|
||||||
|
&:hover {
|
||||||
|
cursor:pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
input[name=avatar] {
|
||||||
|
&.sr-only {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
@section('page-content')
|
@section('page-content')
|
||||||
<section class="signup-wrapper signin-wrapper ptb-120">
|
<section class="ptb-120">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<!-- Page Heading -->
|
<!-- Page Heading -->
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
@extends('layouts.master')
|
||||||
@section('additional_headers')
|
@section('additional_headers')
|
||||||
@parent
|
@parent
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/cropperjs/1.6.1/cropper.min.css" integrity="sha512-hvNR0F/e2J7zPPfLC9auFe3/SE0yG4aJCOd/qxew74NN7eyiSKjr7xJJMu1Jy2wf7FXITpWS1E/RY8yzuXN7VA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/cropperjs/1.6.1/cropper.min.css" integrity="sha512-hvNR0F/e2J7zPPfLC9auFe3/SE0yG4aJCOd/qxew74NN7eyiSKjr7xJJMu1Jy2wf7FXITpWS1E/RY8yzuXN7VA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
|
||||||
@ -6,29 +7,28 @@
|
|||||||
@parent
|
@parent
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/cropperjs/1.6.1/cropper.min.js" integrity="sha512-9KkIqdfN7ipEW6B6k+Aq20PV31bjODg4AA52W+tYtAE0jE0kMx49bjJ3FgvS56wzmyfMUHbQ4Km2b7l9+Y/+Eg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/cropperjs/1.6.1/cropper.min.js" integrity="sha512-9KkIqdfN7ipEW6B6k+Aq20PV31bjODg4AA52W+tYtAE0jE0kMx49bjJ3FgvS56wzmyfMUHbQ4Km2b7l9+Y/+Eg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||||
@endsection
|
@endsection
|
||||||
|
@section('page-content')
|
||||||
<x-app-layout>
|
<x-app-layout>
|
||||||
<x-slot name="header">
|
<x-slot name="header">
|
||||||
<h2 class="">
|
<h2 class="">
|
||||||
{{ __('Manage Account Credentials') }}
|
{{ __('Manage Account Details') }}
|
||||||
</h2>
|
</h2>
|
||||||
</x-slot>
|
</x-slot>
|
||||||
|
|
||||||
<section class="signup-wrapper signin-wrapper ptb-4">
|
<section class="ptb-4">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row d-flex-row d-flex align-content-stretch flex-wrap mb-4">
|
<div class="row">
|
||||||
<div class="col-xl-5 col-lg-12 authbox">
|
<div class="col-xl-4 col-lg-12 mb-4">
|
||||||
@include('profile.partials.update-profile-information-form')
|
@include('profile.partials.update-profile-information-form')
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-5 offset-xl-2 col-lg-12 authbox">
|
<div class="col-xl-4 col-lg-12 mb-4">
|
||||||
@include('profile.partials.update-password-form')
|
@include('profile.partials.update-password-form')
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="col-xl-4 col-lg-12 mb-4">
|
||||||
<div class="row d-flex-row d-flex align-content-stretch flex-wrap mb-4">
|
|
||||||
<div class="col-xl-5 col-lg-12 authbox">
|
|
||||||
@include('profile.partials.update-avatar-form')
|
@include('profile.partials.update-avatar-form')
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</x-app-layout>
|
</x-app-layout>
|
||||||
|
@endsection
|
||||||
|
@ -1,15 +1,17 @@
|
|||||||
<div class="row mt-4 gutter-2">
|
<div class="authbox">
|
||||||
<div class="col">
|
<div class="row mt-4 gutter-2">
|
||||||
<div class="signin-content">
|
<div class="col">
|
||||||
<div class="mb-6">
|
<div class="signin-content">
|
||||||
<h2 class="mb-2">{{ __('Update Your Artist Avatar') }}</h2>
|
<div class="mb-6">
|
||||||
<p class="normal">{{ __('This avatar will be used on the artist gallery and artist profile page.') }}</p>
|
<h2 class="mb-2">{{ __('Update Artist Avatar') }}</h2>
|
||||||
|
<p class="normal">{{ __('This avatar will be used on the artist gallery and artist profile page.') }}</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="row mt-0 gutter-2">
|
||||||
<div class="row mt-0 gutter-2">
|
<div class="col">
|
||||||
<div class="col">
|
<livewire:artist.avatar />
|
||||||
<livewire:artist.avatar />
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,50 +1,52 @@
|
|||||||
<div class="row mt-4 gutter-2">
|
<div class="authbox">
|
||||||
<div class="col">
|
<div class="row mt-4 gutter-2">
|
||||||
<div class="signin-content">
|
<div class="col">
|
||||||
<div class="mb-6">
|
<div class="signin-content">
|
||||||
<h2 class="mb-2">{{ __('Update Password') }}</h2>
|
<div class="mb-6">
|
||||||
<p class="normal">{{ __('Ensure your account is using a long, random password to stay secure.') }}</p>
|
<h2 class="mb-2">{{ __('Update Password') }}</h2>
|
||||||
|
<p class="normal">{{ __('Ensure your account is using a long, random password to stay secure.') }}</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="row mt-0 gutter-2">
|
||||||
<div class="row mt-0 gutter-2">
|
<div class="col">
|
||||||
<div class="col">
|
<form method="post" action="{{ route('password.update') }}" class="mt-6 space-y-6">
|
||||||
<form method="post" action="{{ route('password.update') }}" class="mt-6 space-y-6">
|
@csrf
|
||||||
@csrf
|
@method('put')
|
||||||
@method('put')
|
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<x-input-label for="current_password" :value="__('Current Password')" />
|
<x-input-label for="current_password" :value="__('Current Password')" />
|
||||||
<x-text-input id="current_password" name="current_password" type="password" class="mt-1 block w-full" autocomplete="current-password" />
|
<x-text-input id="current_password" name="current_password" type="password" class="mt-1 block w-full" autocomplete="current-password" />
|
||||||
<x-input-error :messages="$errors->updatePassword->get('current_password')" class="mt-2" />
|
<x-input-error :messages="$errors->updatePassword->get('current_password')" class="mt-2" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<x-input-label for="password" :value="__('New Password')" />
|
<x-input-label for="password" :value="__('New Password')" />
|
||||||
<x-text-input id="password" name="password" type="password" class="mt-1 block w-full" autocomplete="new-password" />
|
<x-text-input id="password" name="password" type="password" class="mt-1 block w-full" autocomplete="new-password" />
|
||||||
<x-input-error :messages="$errors->updatePassword->get('password')" class="mt-2" />
|
<x-input-error :messages="$errors->updatePassword->get('password')" class="mt-2" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<x-input-label for="password_confirmation" :value="__('Confirm Password')" />
|
<x-input-label for="password_confirmation" :value="__('Confirm Password')" />
|
||||||
<x-text-input id="password_confirmation" name="password_confirmation" type="password" class="mt-1 block w-full" autocomplete="new-password" />
|
<x-text-input id="password_confirmation" name="password_confirmation" type="password" class="mt-1 block w-full" autocomplete="new-password" />
|
||||||
<x-input-error :messages="$errors->updatePassword->get('password_confirmation')" class="mt-2" />
|
<x-input-error :messages="$errors->updatePassword->get('password_confirmation')" class="mt-2" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="d-flex justify-content-end text-end mt-4 mb-4">
|
<div class="d-flex justify-content-end text-end mt-4 mb-4">
|
||||||
<x-primary-button class="ml-3 btn btn-gradient"><span>{{ __('Save') }}</span></x-primary-button>
|
<x-primary-button class="ml-3 btn btn-gradient"><span>{{ __('Save') }}</span></x-primary-button>
|
||||||
|
|
||||||
@if (session('status') === 'password-updated')
|
@if (session('status') === 'password-updated')
|
||||||
<p
|
<p
|
||||||
x-data="{ show: true }"
|
x-data="{ show: true }"
|
||||||
x-show="show"
|
x-show="show"
|
||||||
x-transition
|
x-transition
|
||||||
x-init="setTimeout(() => show = false, 2000)"
|
x-init="setTimeout(() => show = false, 2000)"
|
||||||
class="text-sm text-gray-600 dark:text-gray-400"
|
class="text-sm text-gray-600 dark:text-gray-400"
|
||||||
>{{ __('Saved.') }}</p>
|
>{{ __('Saved.') }}</p>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,65 +1,67 @@
|
|||||||
<div class="row mt-4 gutter-2">
|
<div class="authbox">
|
||||||
<div class="col">
|
<div class="row mt-4 gutter-2">
|
||||||
<div class="signin-content">
|
<div class="col">
|
||||||
<div class="mb-6">
|
<div class="signin-content">
|
||||||
<h2 class="mb-2">{{ __('Edit Login Information') }}</h2>
|
<div class="mb-6">
|
||||||
<p class="normal">{{ __("Update your account's username and email address. Note, your username may not be the same as your public artist profile.") }}</p>
|
<h2 class="mb-2">{{ __('Update Login') }}</h2>
|
||||||
|
<p class="normal">{{ __("Update your account's username and email address. Note, your username may not be the same as your public artist profile.") }}</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="row mt-0 gutter-2">
|
||||||
<div class="row mt-0 gutter-2">
|
<div class="col">
|
||||||
<div class="col">
|
<form id="send-verification" method="post" action="{{ route('verification.send') }}">
|
||||||
<form id="send-verification" method="post" action="{{ route('verification.send') }}">
|
@csrf
|
||||||
@csrf
|
</form>
|
||||||
</form>
|
|
||||||
|
|
||||||
<form method="post" action="{{ route('profile.update') }}">
|
<form method="post" action="{{ route('profile.update') }}">
|
||||||
@csrf
|
@csrf
|
||||||
@method('patch')
|
@method('patch')
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<x-input-label for="name" :value="__('Name')" />
|
<x-input-label for="name" :value="__('Name')" />
|
||||||
<x-text-input id="name" name="name" type="text" class="mt-1 block w-full" :value="old('name', $user->name)" required autofocus autocomplete="name" />
|
<x-text-input id="name" name="name" type="text" class="mt-1 block w-full" :value="old('name', $user->name)" required autofocus autocomplete="name" />
|
||||||
<x-input-error class="mt-2" :messages="$errors->get('name')" />
|
<x-input-error class="mt-2" :messages="$errors->get('name')" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<x-input-label for="email" :value="__('Email')" />
|
<x-input-label for="email" :value="__('Email')" />
|
||||||
<x-text-input id="email" name="email" type="email" class="mt-1 block w-full" :value="old('email', $user->email)" required autocomplete="username" />
|
<x-text-input id="email" name="email" type="email" class="mt-1 block w-full" :value="old('email', $user->email)" required autocomplete="username" />
|
||||||
<x-input-error class="mt-2" :messages="$errors->get('email')" />
|
<x-input-error class="mt-2" :messages="$errors->get('email')" />
|
||||||
|
|
||||||
@if ($user instanceof \Illuminate\Contracts\Auth\MustVerifyEmail && ! $user->hasVerifiedEmail())
|
@if ($user instanceof \Illuminate\Contracts\Auth\MustVerifyEmail && ! $user->hasVerifiedEmail())
|
||||||
<div>
|
<div>
|
||||||
<p class="text-sm mt-2 text-gray-800 dark:text-gray-200">
|
<p class="text-sm mt-2 text-gray-800 dark:text-gray-200">
|
||||||
{{ __('Your email address is unverified.') }}
|
{{ __('Your email address is unverified.') }}
|
||||||
|
|
||||||
<button form="send-verification" class="btn btn-small btn-gradient">
|
<button form="send-verification" class="btn btn-small btn-gradient">
|
||||||
<span>{{ __('Click here to re-send the verification email.') }}</span>
|
<span>{{ __('Click here to re-send the verification email.') }}</span>
|
||||||
</button>
|
</button>
|
||||||
</p>
|
|
||||||
|
|
||||||
@if (session('status') === 'verification-link-sent')
|
|
||||||
<p class="mt-2 font-medium text-sm text-green-600 dark:text-green-400">
|
|
||||||
{{ __('A new verification link has been sent to your email address.') }}
|
|
||||||
</p>
|
</p>
|
||||||
@endif
|
|
||||||
</div>
|
|
||||||
@endif
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="d-flex justify-content-end mt-4 mb-4 text-end">
|
@if (session('status') === 'verification-link-sent')
|
||||||
<x-primary-button class="ml-3 btn btn-gradient"><span>{{ __('Update Login Information') }}</span></x-primary-button>
|
<p class="mt-2 font-medium text-sm text-green-600 dark:text-green-400">
|
||||||
@if (session('status') === 'profile-updated')
|
{{ __('A new verification link has been sent to your email address.') }}
|
||||||
<p
|
</p>
|
||||||
x-data="{ show: true }"
|
@endif
|
||||||
x-show="show"
|
</div>
|
||||||
x-transition
|
@endif
|
||||||
x-init="setTimeout(() => show = false, 2000)"
|
</div>
|
||||||
class="text-sm text-gray-600 dark:text-gray-400"
|
|
||||||
>{{ __('Saved.') }}</p>
|
<div class="d-flex justify-content-end mt-4 mb-4 text-end">
|
||||||
@endif
|
<x-primary-button class="ml-3 btn btn-gradient"><span>{{ __('Update Login Information') }}</span></x-primary-button>
|
||||||
</div>
|
@if (session('status') === 'profile-updated')
|
||||||
</form>
|
<p
|
||||||
|
x-data="{ show: true }"
|
||||||
|
x-show="show"
|
||||||
|
x-transition
|
||||||
|
x-init="setTimeout(() => show = false, 2000)"
|
||||||
|
class="text-sm text-gray-600 dark:text-gray-400"
|
||||||
|
>{{ __('Saved.') }}</p>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user