]> BookStack Code Mirror - bookstack/blob - database/seeders/LargeContentSeeder.php
Reverted shift change to old migration
[bookstack] / database / seeders / LargeContentSeeder.php
1 <?php
2
3 namespace Database\Seeders;
4
5 use BookStack\Auth\Permissions\PermissionService;
6 use BookStack\Auth\Role;
7 use BookStack\Auth\User;
8 use BookStack\Entities\Models\Chapter;
9 use BookStack\Entities\Models\Page;
10 use BookStack\Entities\Tools\SearchIndex;
11 use Illuminate\Database\Seeder;
12 use Illuminate\Support\Str;
13
14 class LargeContentSeeder extends Seeder
15 {
16     /**
17      * Run the database seeds.
18      *
19      * @return void
20      */
21     public function run()
22     {
23         // Create an editor user
24         $editorUser = User::factory()->create();
25         $editorRole = Role::getRole('editor');
26         $editorUser->attachRole($editorRole);
27
28         $largeBook = \BookStack\Entities\Models\Book::factory()->create(['name' => 'Large book' . Str::random(10), 'created_by' => $editorUser->id, 'updated_by' => $editorUser->id]);
29         $pages = Page::factory()->count(200)->make(['created_by' => $editorUser->id, 'updated_by' => $editorUser->id]);
30         $chapters = Chapter::factory()->count(50)->make(['created_by' => $editorUser->id, 'updated_by' => $editorUser->id]);
31         $largeBook->pages()->saveMany($pages);
32         $largeBook->chapters()->saveMany($chapters);
33         app(PermissionService::class)->buildJointPermissions();
34         app(SearchIndex::class)->indexAllEntities();
35     }
36 }