Laravel 数据库插入 Artisan Tinker 错误

问题描述 投票:0回答:2

错误

用消息“SQLSTATE[HY000]照亮/数据库/QueryException:一般错误:1表配置文件没有名为标题的列(SQL:插入“配置文件”(“标题”,“描述”,“user_id”,“updated_at”) , "created_at") 值 (asd, 123123, 2, 2020-07-31 10:19:03, 2020-07-31 10:19:03))'

这是我在 '$profile -> save();' 时遇到的错误 我正在根据以下链接学习Laravel: https://www.youtube.com/watch?v=ImtZ5yENzgE&list=WL&index=45&t=81s

这是 2020_07_31_074115_create_profiles_table.php

   {
       Schema::create('profiles', function (Blueprint $table) {
           $table->bigIncrements('id');
           $table->unsignedBigInteger('user_id');
           $table->string('title')->nullable();
           $table->text('description')->nullable();
           $table->string('url')->nullable();
           $table->timestamps();

           $table->index('user_id'); //FK
       });
   }

   /**
    * Reverse the migrations.
    *
    * @return void
    */
   public function down()
   {
       Schema::dropIfExists('profiles');
   }

这是 2014_10_12_000000_create_users_table.php

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('username')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}
php database laravel sqlite eloquent
2个回答
3
投票

如果这是您本地的开发环境,您可以运行:

php artisan migrate:fresh

按照设计,迁移命令对文件中的更改不敏感。它使用文件名来了解它已经运行了哪些迁移以及需要运行哪些迁移。

如果您编辑了文件,再次运行

php artisan migrate
将不会产生任何效果。

要进行会改变生产数据库的更改,您需要进行新的迁移并更改表,而不是编辑旧的迁移文件。


0
投票

我通过运行 DB::disconnect(); 解决了这个问题修补匠。

© www.soinside.com 2019 - 2024. All rights reserved.