45 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
		
		
			
		
	
	
			45 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use Illuminate\Support\Facades\Schema;
							 | 
						||
| 
								 | 
							
								use Illuminate\Database\Schema\Blueprint;
							 | 
						||
| 
								 | 
							
								use Illuminate\Database\Migrations\Migration;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class AddRevisionCounts extends Migration
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Run the migrations.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return void
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function up()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        Schema::table('pages', function (Blueprint $table) {
							 | 
						||
| 
								 | 
							
								            $table->integer('revision_count');
							 | 
						||
| 
								 | 
							
								        });
							 | 
						||
| 
								 | 
							
								        Schema::table('page_revisions', function (Blueprint $table) {
							 | 
						||
| 
								 | 
							
								            $table->integer('revision_number');
							 | 
						||
| 
								 | 
							
								            $table->index('revision_number');
							 | 
						||
| 
								 | 
							
								        });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // Update revision count
							 | 
						||
| 
								 | 
							
								        $pTable = DB::getTablePrefix() . 'pages';
							 | 
						||
| 
								 | 
							
								        $rTable = DB::getTablePrefix() . 'page_revisions';
							 | 
						||
| 
								 | 
							
								        DB::statement("UPDATE ${pTable} SET ${pTable}.revision_count=(SELECT count(*) FROM ${rTable} WHERE ${rTable}.page_id=${pTable}.id)");
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reverse the migrations.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return void
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function down()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        Schema::table('pages', function (Blueprint $table) {
							 | 
						||
| 
								 | 
							
								            $table->dropColumn('revision_count');
							 | 
						||
| 
								 | 
							
								        });
							 | 
						||
| 
								 | 
							
								        Schema::table('page_revisions', function (Blueprint $table) {
							 | 
						||
| 
								 | 
							
								            $table->dropColumn('revision_number');
							 | 
						||
| 
								 | 
							
								        });
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |