Illuminate \ Database \ QueryException SQLSTATE [42P01]:未定义的表:7错误:迁移期间

时间:2018-05-07 09:01:28

标签: laravel laravel-5 migration database-migration

我正在尝试使用此处的代码在laravel中创建迁移。但不幸的是,它突然出现了像这里给出的错误。 我看到了一些手动创建表格的答案..但这对于整个迁移的想法是如此之大..不是吗?

迁移文件2018_05_05_203731_create_cities_table在此处:

<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateCitiesTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('cities', function (Blueprint $table) {
            $table->increments('id');
            $table->timestamps();
            $table->text('Name');
            $table->json('info');
            $table->integer('country_id');
            $table->float('lat');
            $table->float('lon');
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('cities', function (Blueprint $table) {
            //
        });
    }
}

出现的错误是:

  

C:\ Users \ think \ Documents \ NZ \ blog&gt; php artisan migrate

     

Illuminate \ Database \ QueryException:SQLSTATE [08006] [7]致命:   数据库“tripplan1”不存在(SQL:select * from   information_schema.tables其中table_schema = public和table_name =   迁移)                                                                                         不存在“)   C:\ Users \用户认为\文档\新西兰\博客\供应商\ laravel \框架的\ src \照亮\ Databasee \ Connection.php:458 \ Connection.php:664   660 | //如果在尝试运行查询时发生异常,   我们将格式化错误
  Ë\ Connection.php:458       661 | //包含SQL绑定的消息,这将使此异常成为662 | //更有帮助   开发人员而不仅仅是数据库的错误。       663 | catch(Exception $ e){

     
    

664 |抛出新的QueryException(         665 | $ query,$ this-&gt; prepareBindings($ bindings),$ e         666 | );         667 | }

  
     

C:\ Users \ think \ Documents \ NZ \ blog&gt; php artisan migrate迁移表   成功创建。

     

Illuminate \ Database \ QueryException:SQLSTATE [42P01]:未定义   table:7错误:关系“cities”不存在(SQL:alter table   “cities”添加列“id”串行主键不为null,添加列   “created_at”timestamp(0)没有时区null,添加列   “updated_at”时间戳(0)没有时区null,添加列“名称”   text not null,添加列“info”json not null,添加列   “country_id”整数不为null,添加列“lat”不是双精度   null,添加列“lon”double precision not null)at   C:\ Users \用户认为\文档\新西兰\博客\供应商\ laravel \框架的\ src \照亮\数据库\ Connection.php:664       660 | //如果在尝试运行查询时发生异常,我们将格式化错误       661 | //包含SQL绑定的消息,这将使此异常成为一个       662 | //对开发人员更有帮助,而不仅仅是数据库的错误。       663 | catch(Exception $ e){

     
    

664 |抛出新的QueryException(         665 | $ query,$ this-&gt; prepareBindings($ bindings),$ e         666 | );         667 | } 668 |

  
                                          Exception trace:
     

1 PDOException ::(“SQLSTATE [42P01]:未定义的表:7错误:   关系“城市”不存在“)                                                                          C:\ Users \用户认为\文档\新西兰\博客\供应商\ laravel \框架的\ src \照亮\数据库\ Connection.php:458   2 PDOStatement :: execute()         C:\ Users \用户认为\文件\ NZ \博客\厂商\ laravel \框架\ SRC \照亮\数据库\ Connection.php:458

     

请使用参数-v查看更多详细信息。

任何帮助都将受到高度赞赏。

编辑:错误输入了整个错误。数据库名称已更正...

1 个答案:

答案 0 :(得分:4)

Schema::table方法中将Schema::create更改为up()