]> BookStack Code Mirror - bookstack/blob - database/migrations/2015_08_31_175240_add_search_indexes.php
New translations editor.php (Welsh)
[bookstack] / database / migrations / 2015_08_31_175240_add_search_indexes.php
1 <?php
2
3 use Illuminate\Database\Migrations\Migration;
4 use Illuminate\Database\Schema\Blueprint;
5
6 class AddSearchIndexes extends Migration
7 {
8     /**
9      * Run the migrations.
10      *
11      * @return void
12      */
13     public function up()
14     {
15         // This was removed for v0.24 since these indexes are removed anyway
16         // and will cause issues for db engines that don't support such indexes.
17
18 //        $prefix = DB::getTablePrefix();
19 //        DB::statement("ALTER TABLE {$prefix}pages ADD FULLTEXT search(name, text)");
20 //        DB::statement("ALTER TABLE {$prefix}books ADD FULLTEXT search(name, description)");
21 //        DB::statement("ALTER TABLE {$prefix}chapters ADD FULLTEXT search(name, description)");
22     }
23
24     /**
25      * Reverse the migrations.
26      *
27      * @return void
28      */
29     public function down()
30     {
31         $sm = Schema::getConnection()->getDoctrineSchemaManager();
32         $pages = $sm->listTableDetails('pages');
33         $books = $sm->listTableDetails('books');
34         $chapters = $sm->listTableDetails('chapters');
35
36         if ($pages->hasIndex('search')) {
37             Schema::table('pages', function (Blueprint $table) {
38                 $table->dropIndex('search');
39             });
40         }
41
42         if ($books->hasIndex('search')) {
43             Schema::table('books', function (Blueprint $table) {
44                 $table->dropIndex('search');
45             });
46         }
47
48         if ($chapters->hasIndex('search')) {
49             Schema::table('chapters', function (Blueprint $table) {
50                 $table->dropIndex('search');
51             });
52         }
53     }
54 }