db:seed cleanup

This commit is contained in:
StudioTem committed 2023-01-24 21:54:03 +01:00
1 parent 33499107b7
commit dfac41f30a
9 files changed
+75 -18

No files matched your search

+5
View File
@@ -25,4 +25,9 @@ class MasterTask extends Model
{ {
return $this->hasMany(Attachment::class); return $this->hasMany(Attachment::class);
} }
public function team()
{
return $this->belongsTo(Team::class);
}
} }
+1 -1
View File
@@ -17,7 +17,7 @@ class AttachmentFactory extends Factory
*/ */
public function definition() public function definition()
{ {
$extension = fake()->fileExtension(); $extension = fake()->randomElement(['jpg', 'png', 'jpeg', 'pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'txt', 'csv']);
return [ return [
'original_name' => fake()->words(2, true) . '.' . $extension, 'original_name' => fake()->words(2, true) . '.' . $extension,
+11 -1
View File
@@ -4,6 +4,7 @@ namespace Database\Factories;
use App\Models\Client; use App\Models\Client;
use App\Models\Project; use App\Models\Project;
use App\Models\Team;
use Illuminate\Database\Eloquent\Factories\Factory; use Illuminate\Database\Eloquent\Factories\Factory;
/** /**
@@ -18,10 +19,19 @@ class MasterTaskFactory extends Factory
*/ */
public function definition() public function definition()
{ {
$project = Project::factory()->create(); // if (Project::all()->count() === 0) {
// $project = Project::factory()->create();
// } else {
// $project = Project::all()->random();
// }
$project = Project::all()->random();
$team = Team::all()->random();
return [ return [
'project_id' => $project->id, 'project_id' => $project->id,
'team_id' => $team->id,
'title' => 'Master task ' . fake()->words(2, true), 'title' => 'Master task ' . fake()->words(2, true),
'estimated_time' => fake()->numberBetween(20,100), 'estimated_time' => fake()->numberBetween(20,100),
'tracked_time' => fake()->numberBetween(4,20), 'tracked_time' => fake()->numberBetween(4,20),
+2 -2
View File
@@ -20,12 +20,12 @@ class ProjectFactory extends Factory
{ {
$name = fake()->country(); $name = fake()->country();
$client = Client::factory('App\Models\Client')->create(); $client = Client::all()->random();
return [ return [
'client_id' => $client->id, 'client_id' => $client->id,
'name' => 'Project ' . $name, 'name' => 'Project ' . $name,
'code' => strtoupper(substr($name, 0, 3)) . '-2023-' . rand(1, 9), 'code' => strtoupper(substr($name, 0, 3)) . '-2023-' . rand(1, 50),
]; ];
+2 -4
View File
@@ -19,12 +19,10 @@ class SubTaskFactory extends Factory
*/ */
public function definition() public function definition()
{ {
// $user = User::factory()->create(); $client = \App\Models\Client::all()->random();
// $mastertask = MasterTask::factory()->hasAttachments(random_int(0 , 3))->create();
return [ return [
'user_id' => 1, 'user_id' => $client->id,
// 'master_task_id' => $mastertask->id,
'estimated_time' => fake()->numberBetween(1,16), 'estimated_time' => fake()->numberBetween(1,16),
'tracked_time' => fake()->numberBetween(4,20), 'tracked_time' => fake()->numberBetween(4,20),
'is_finished' => 0, 'is_finished' => 0,
@@ -20,7 +20,11 @@ class TimeblockFactory extends Factory
$start = fake()->dateTimeBetween('now', '+3 weeks'); $start = fake()->dateTimeBetween('now', '+3 weeks');
$end = Carbon::instance($start)->addHours(fake()->numberBetween(3, 5)); $end = Carbon::instance($start)->addHours(fake()->numberBetween(3, 5));
// get random subtask
$subtask = \App\Models\SubTask::all()->random();
return [ return [
'sub_task_id' => $subtask->id,
'start' => $start, 'start' => $start,
'end' => fake()->dateTimeBetween($start, $end), 'end' => fake()->dateTimeBetween($start, $end),
]; ];
+4 -2
View File
@@ -2,6 +2,7 @@
namespace Database\Factories; namespace Database\Factories;
use App\Models\SubTask;
use App\Models\User; use App\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory; use Illuminate\Database\Eloquent\Factories\Factory;
@@ -17,10 +18,11 @@ class TimesheetFactory extends Factory
*/ */
public function definition() public function definition()
{ {
$user = User::factory()->create(); $subtask = SubTask::all()->random();
return [ return [
'user_id' => $user->id, 'user_id' => $subtask->user->id,
'sub_task_id' => $subtask->id,
'time' => fake()->numberBetween(1,8), 'time' => fake()->numberBetween(1,8),
'synced_to_karat' => null, 'synced_to_karat' => null,
]; ];
+24 -8
View File
@@ -3,9 +3,12 @@
namespace Database\Seeders; namespace Database\Seeders;
// use Illuminate\Database\Console\Seeds\WithoutModelEvents; // use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use App\Models\Client;
use App\Models\MasterTask; use App\Models\MasterTask;
use App\Models\Project; use App\Models\Project;
use App\Models\Team; use App\Models\Team;
use App\Models\Timeblock;
use App\Models\Timesheet;
use App\Models\User; use App\Models\User;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
@@ -18,25 +21,38 @@ class DatabaseSeeder extends Seeder
*/ */
public function run() public function run()
{ {
Client::factory()
->count(20)
->create();
Project::factory()
->hasClient()
->count(20)
->create();
for ($i=0; $i < 5; $i++) { for ($i=0; $i < 5; $i++) {
Team::factory() Team::factory()
->hasUsers(random_int(2, 5)) ->hasUsers(random_int(2, 5))
->create(); ->create();
} }
for ($i=0; $i < 3; $i++) { for ($i=0; $i < 30; $i++) {
MasterTask::factory() MasterTask::factory()
->hasAttachments(random_int(0, 3)) ->hasAttachments(random_int(0, 3))
->hasSubTasks(random_int(3, 5)) ->hasSubTasks(random_int(3, 5))
->create(); ->create();
} }
// for ($i=0; $i < 3; $i++) { for ($i=0; $i < 30; $i++) {
// User::factory() Timeblock::factory()
// ->hasSubTasks(3) ->count(random_int(1, 2))
//// ->hasAttachments(random_int(0, 3)) ->create();
//// ->hasSubTasks(random_int(3, 5)) }
// ->create();
// } for ($i=0; $i < 30; $i++) {
Timesheet::factory()
->count(random_int(1, 2))
->create();
}
} }
} }
+22
View File
@@ -0,0 +1,22 @@
<?php
namespace Database\Seeders;
use App\Models\Timeblock;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
class TimeblockSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Timeblock::factory()
->count(1)
->create();
}
}