From e9595486f7dd407a09891a45225988ea2c389045 Mon Sep 17 00:00:00 2001 From: A1Gard Date: Mon, 6 May 2024 20:28:52 +0330 Subject: [PATCH] added user seeder --- .env.example | 15 +++---- app/Models/User.php | 1 + .../0001_01_01_000000_create_users_table.php | 3 ++ database/seeders/DatabaseSeeder.php | 7 ++-- database/seeders/UserSeeder.php | 40 +++++++++++++++++++ 5 files changed, 55 insertions(+), 11 deletions(-) create mode 100644 database/seeders/UserSeeder.php diff --git a/.env.example b/.env.example index 7b49625..6025549 100644 --- a/.env.example +++ b/.env.example @@ -2,6 +2,7 @@ APP_NAME=Laravel APP_ENV=local APP_KEY= APP_DEBUG=true +APP_DEPLOYED=false APP_TIMEZONE=UTC APP_URL=http://localhost @@ -19,15 +20,15 @@ LOG_STACK=single LOG_DEPRECATIONS_CHANNEL=null LOG_LEVEL=debug -DB_CONNECTION=sqlite -# DB_HOST=127.0.0.1 -# DB_PORT=3306 -# DB_DATABASE=laravel -# DB_USERNAME=root -# DB_PASSWORD= +DB_CONNECTION=mysql +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_DATABASE=laravel +DB_USERNAME=root +DB_PASSWORD= SESSION_DRIVER=database -SESSION_LIFETIME=120 +SESSION_LIFETIME=9999999 SESSION_ENCRYPT=false SESSION_PATH=/ SESSION_DOMAIN=null diff --git a/app/Models/User.php b/app/Models/User.php index def621f..fbe7aa2 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -10,6 +10,7 @@ use Illuminate\Notifications\Notifiable; class User extends Authenticatable { use HasFactory, Notifiable; + static $roles = ['DEVELOPER','ADMIN','USER']; /** * The attributes that are mass assignable. diff --git a/database/migrations/0001_01_01_000000_create_users_table.php b/database/migrations/0001_01_01_000000_create_users_table.php index 05fb5d9..aedfa6f 100644 --- a/database/migrations/0001_01_01_000000_create_users_table.php +++ b/database/migrations/0001_01_01_000000_create_users_table.php @@ -17,6 +17,9 @@ return new class extends Migration $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); + $table->string('mobile',20)->nullable(); + $table->string('avatar',1024)->nullable(); + $table->enum('role',\App\Models\User::$roles)->default('USER'); $table->rememberToken(); $table->timestamps(); }); diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index d01a0ef..66c6cc0 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -15,9 +15,8 @@ class DatabaseSeeder extends Seeder { // User::factory(10)->create(); - User::factory()->create([ - 'name' => 'Test User', - 'email' => 'test@example.com', - ]); + $this->call( + UserSeeder::class, + ); } } diff --git a/database/seeders/UserSeeder.php b/database/seeders/UserSeeder.php new file mode 100644 index 0000000..e67d04c --- /dev/null +++ b/database/seeders/UserSeeder.php @@ -0,0 +1,40 @@ +create( + [ + 'name' => 'WebDeveloper', + 'email' => 'developer@example.com', + 'role'=> 'DEVELOPER', + ] + ); + // website admin + User::factory()->create( + [ + 'name' => 'Admin', + 'email' => 'admin@example.com', + 'role'=> 'ADMIN', + ] + ); + // website user + User::factory()->create( + [ + 'name' => 'ManagerUser', + 'email' => 'user@example.com', + ] + ); + } +}