make:user command not working when non-interactive
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
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
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de statamic/cms
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
There's a default crop when cropping imagesPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertoassets
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
Make native filesystem directory permissions configurable to support shared POSIX ACL accessAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
accessibility
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
antlers
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
Todos los issues de statamic/cms
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 84/100
WordPress/hosting-handbook#506 ·
Los mantenedores suelen responder en 2 días
-
Installing a plugin with composer_packages installs dev dependencies and breaks the autoloader (Error 500)Posiblemente ocupada @Boy132 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
nginx: static-file locations drop the security headers, and the dotfile deny is matched after themAbiertobug Low Security
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
backdrop-contrib/commerce#60 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 76/100