SQLSTATE [HY000] [1049] Base de données inconnue 'laravel'
J'obtiens cette erreur en essayant d'enregistrer un objet dans DB.
SQLSTATE [HY000] [1049] (SQL 'Laravel' base de données inconnu: insert en
cards
(card_price
,active
,updated_at
,created_at
valeurs) (0, 1, 10.10.2019 15:14:43, 15:14:43 10/10/2019) )
.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=cardgame
DB_USERNAME=root
DB_PASSWORD=P@assword1!
Database.php
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_T_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
CardController.php
public function generateCards()
{
$card = new Card();
$card->card_price = 0;
$card->active = 1;
$card->save();
}
Web.php
Route::get('/generate-cards', 'CardController@generateCards');
Card.php
class Card extends Model
{
protected $guarded =[];
}
Fichier de migration
public function up()
{
Schema::create('cards', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('card_price');
$table->integer('active');
$table->timestamps();
});
}
J'ai essayé de vider le cache et j'ai également modifié DB_PASSWORD
To DB_T_PASSWORD
car cela corrigeait un problème similaire plus tôt. Double vérifié le nom de la base de données , les mots de passe, etc. et d'autres projets sont également déjà en cours d'exécution. Je n'arrive pas à comprendre.
Accédez à votre serveur localhost et supprimez la base de données et recréez-en une nouvelle nommée cardgame
Accédez à votre projet laravel dans la console et exécutez la
php artisan config:cache
commande. De cette façon, toutes vos variables d'environnement seront utilisées.Exécutez
php artisan:migrate
pour exécuter vos migrations pour votre base de données et créez vos tables.
Si vous suivez les 3 étapes ci-dessus dans cet ordre, tout va bien.