diff --git a/app/Listeners/Updates/Version117.php b/app/Listeners/Updates/Version118.php similarity index 82% rename from app/Listeners/Updates/Version117.php rename to app/Listeners/Updates/Version118.php index 5ab5cee6d..bd1a47037 100644 --- a/app/Listeners/Updates/Version117.php +++ b/app/Listeners/Updates/Version118.php @@ -5,15 +5,16 @@ namespace App\Listeners\Updates; use App\Events\UpdateFinished; use App\Models\Auth\Role; use App\Models\Auth\Permission; +use Illuminate\Support\Facades\Schema; use MediaUploader; use Storage; use Artisan; -class Version117 extends Listener +class Version118 extends Listener { const ALIAS = 'core'; - const VERSION = '1.1.7'; + const VERSION = '1.1.8'; /** * Handle the event. @@ -28,24 +29,34 @@ class Version117 extends Listener return; } + if (Schema::hasTable('mediables')) { + return; + } + + if (Schema::hasTable('media')) { + Schema::drop('media'); + } + // Create permission - $permission = Permission::firstOrCreate([ - 'name' => 'delete-common-uploads', - 'display_name' => 'Delete Common Uploads', - 'description' => 'Delete Common Uploads', - ]); + if (!Permission::where('name', 'delete-common-uploads')->first()->value('id')) { + $permission = Permission::firstOrCreate([ + 'name' => 'delete-common-uploads', + 'display_name' => 'Delete Common Uploads', + 'description' => 'Delete Common Uploads', + ]); - // Attach permission to roles - $roles = Role::all(); + // Attach permission to roles + $roles = Role::all(); - foreach ($roles as $role) { $allowed = ['admin']; - if (!in_array($role->name, $allowed)) { - continue; - } + foreach ($roles as $role) { + if (!in_array($role->name, $allowed)) { + continue; + } - $role->attachPermission($permission); + $role->attachPermission($permission); + } } $data = []; diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php index fc1954050..0035504b5 100644 --- a/app/Providers/EventServiceProvider.php +++ b/app/Providers/EventServiceProvider.php @@ -21,7 +21,7 @@ class EventServiceProvider extends ServiceProvider 'App\Listeners\Updates\Version110', 'App\Listeners\Updates\Version112', 'App\Listeners\Updates\Version113', - 'App\Listeners\Updates\Version117', + 'App\Listeners\Updates\Version118', ], 'Illuminate\Auth\Events\Login' => [ 'App\Listeners\Auth\Login', diff --git a/database/migrations/2017_12_30_000000_create_mediable_tables.php b/database/migrations/2017_12_30_000000_create_mediable_tables.php index c85857724..ec7ed0c2c 100644 --- a/database/migrations/2017_12_30_000000_create_mediable_tables.php +++ b/database/migrations/2017_12_30_000000_create_mediable_tables.php @@ -16,9 +16,9 @@ class CreateMediableTables extends Migration Schema::create('media', function (Blueprint $table) { $table->increments('id'); $table->string('disk', 32); - $table->string('directory'); - $table->string('filename'); - $table->string('extension', 32); + $table->string('directory', 68); + $table->string('filename', 121); + $table->string('extension', 28); $table->string('mime_type', 128); $table->string('aggregate_type', 32); $table->integer('size')->unsigned(); @@ -32,9 +32,9 @@ class CreateMediableTables extends Migration Schema::create('mediables', function (Blueprint $table) { $table->integer('media_id')->unsigned(); - $table->string('mediable_type'); + $table->string('mediable_type', 152); $table->integer('mediable_id')->unsigned(); - $table->string('tag'); + $table->string('tag', 68); $table->integer('order')->unsigned(); $table->primary(['media_id', 'mediable_type', 'mediable_id', 'tag']);