Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

make:user command not working when non-interactive

Abierto
#11,951 3 comentarios 1 reacción 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

  • #12017 de @Jamesking56 — cerrado sin fusionar

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
30/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
laravel, php
Área
cli, databases

Línea de trabajo

Start by reading src/Console/Commands/MakeUser.php around line 197 and src/Auth/Eloquent/User.php around line 76. Reproduce with users stored in the database using the two non-interactive commands in the issue, and inspect how password and name are handled. Done means the command can create the requested super user non-interactively without the reported null-user or missing-name errors.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Bug description

I tried to create a new User non-interactively but I'm getting an error.

php please make:user --super [email protected]
Or
php please make:user --super --password 12345678 [email protected]

I've checked the source code and found that, when the password in not present in the command ($this->password == null), the ->password(...) method is returning the current password value, which is null, instead of setting it.

https://github.com/statamic/cms/blob/5.x/src/Console/Commands/MakeUser.php#L197
https://github.com/statamic/cms/blob/5.x/src/Auth/Eloquent/User.php#L76

On the other hand, if I define the password:

php please make:user --super --password 12345678 [email protected]

It fails again because the user.name is missing. But there's no way to set it interactively.

How to reproduce

Set Users to be stored in the DB

Run:

php please make:user --super [email protected]
Or
php please make:user --super --password 12345678 [email protected]

Logs
Call to a member function makeSuper() on null

  at vendor/statamic/cms/src/Console/Commands/MakeUser.php:200
    196▕             ->data($this->data)
    197▕             ->password($this->password);
    198▕ 
    199▕         if ($this->super || $this->option('super')) {
  ➜ 200▕             $user->makeSuper();
    201▕         }
    202▕ 
    203▕         $user->save();
    204▕ 

      +14 vendor frames 

  15  please:18
      Illuminate\Foundation\Application::handleCommand(Object(Symfony\Component\Console\Input\ArgvInput))


SQLSTATE[HY000]: General error: 1364 Field 'name' doesn't have a default value (Connection: mysql, SQL: insert into `users` (`email`, `password`, `super`, `id`, `updated_at`, `created_at`) values ([email protected], $2y$12$89L6ptojJvvpfD1SGCkvSOb2oEjMkoZFz2Fr.wUUTCwgJeS/tEL9K, 1, 9f5e0d1c-2d3f-428a-9c88-1b9f444768d6, 2025-07-11 19:42:36, 2025-07-11 19:42:36))

  at vendor/laravel/framework/src/Illuminate/Database/Connection.php:825
    821▕                     $this->getName(), $query, $this->prepareBindings($bindings), $e
    822▕                 );
    823▕             }
    824▕ 
  ➜ 825▕             throw new QueryException(
    826▕                 $this->getName(), $query, $this->prepareBindings($bindings), $e
    827▕             );
    828▕         }
    829▕     }

      +28 vendor frames 

  29  please:18
      Illuminate\Foundation\Application::handleCommand(Object(Symfony\Component\Console\Input\ArgvInput))
Environment
Environment
Application Name: --------
Laravel Version: 11.45.1
PHP Version: 8.3.23
Composer Version: 2.8.9
Environment: local
Debug Mode: ENABLED
URL: ---------
Maintenance Mode: OFF
Timezone: UTC
Locale: en

Cache
Config: NOT CACHED
Events: NOT CACHED
Routes: NOT CACHED
Views: NOT CACHED

Drivers
Broadcasting: pusher
Cache: file
Database: mysql
Logs: stack / single
Mail: log
Queue: sync
Session: database

Sentry
Enabled: MISSING DSN
Environment: local
Laravel SDK Version: 4.15.1
PHP SDK Version: 4.14.1
Release: NOT SET
Sample Rate Errors: 100%
Sample Rate Performance Monitoring: 0%
Sample Rate Profiling: NOT SET
Send Default PII: DISABLED

Spatie Permissions
Features Enabled: Default
Version: 6.20.0

Statamic
Addons: 3
Sites: 1
Stache Watcher: Enabled (auto)
Static Caching: Disabled
Version: 5.59.0 PRO

Statamic Addons
jacksleight/statamic-bard-texstyle: 3.5.6
statamic/collaboration: 1.0.1
statamic/eloquent-driver: 4.28.0

Statamic Eloquent Driver
Asset Containers: file
Assets: eloquent
Blueprints: file
Collection Trees: eloquent
Collections: eloquent
Entries: eloquent
Forms: file
Global Sets: file
Global Variables: file
Navigation Trees: file
Navigations: file
Revisions: file
Sites: file
Taxonomies: file
Terms: file
Tokens: file
Installation

Fresh statamic/statamic site via CLI

Additional details

I'm storing the user records in the database.

Lenguaje dominante
PHP
Estrellas
4.9k
Forks
647
Merge medio
1 d 8 h
PR fusionados (30 d)
100

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de statamic/cms

Todos los issues de statamic/cms

Issues similares

Más issues de PHP

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.