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