3 use Illuminate\Database\Migrations\Migration;
4 use Illuminate\Database\Schema\Blueprint;
6 return new class extends Migration
15 Schema::table('images', function (Blueprint $table) {
16 $table->integer('uploaded_to')->default(0);
17 $table->index('uploaded_to');
20 Schema::table('books', function (Blueprint $table) {
21 $table->boolean('restricted')->default(false);
22 $table->index('restricted');
25 Schema::table('chapters', function (Blueprint $table) {
26 $table->boolean('restricted')->default(false);
27 $table->index('restricted');
30 Schema::table('pages', function (Blueprint $table) {
31 $table->boolean('restricted')->default(false);
32 $table->index('restricted');
35 Schema::create('restrictions', function (Blueprint $table) {
36 $table->increments('id');
37 $table->integer('restrictable_id');
38 $table->string('restrictable_type');
39 $table->integer('role_id');
40 $table->string('action');
41 $table->index('role_id');
42 $table->index('action');
43 $table->index(['restrictable_id', 'restrictable_type']);
48 * Reverse the migrations.
52 public function down()
54 Schema::table('images', function (Blueprint $table) {
55 $table->dropColumn('uploaded_to');
58 Schema::table('books', function (Blueprint $table) {
59 $table->dropColumn('restricted');
62 Schema::table('chapters', function (Blueprint $table) {
63 $table->dropColumn('restricted');
66 Schema::table('pages', function (Blueprint $table) {
67 $table->dropColumn('restricted');
70 Schema::drop('restrictions');