0

这有点好笑,但由于我选择我的数据库名称为“shahkelid”,我无法使用 laravel 迁移创建“用户”表。任何其他表名都可以!当我使用其他数据库名称时,一切正常(我没有忘记更新 database.php 配置文件),所以我 100% 确定我的 Schema 类编写正确。

我唯一不明白的是,为什么当我将数据库名称更改为“shahkelid”时会出现此错误?

这是我在终端收到的错误:

     [Exception]                                                                  
      SQLSTATE[42S02]: Base table or view not found: 1146 Table 'shahkelid.users'  
       doesn't exist (SQL: create table `users` (`id` int unsigned not null auto_  
      increment primary key, `username` varchar(255) not null, `password` varchar  
      (255) not null, `created_at` timestamp default 0 not null, `updated_at` tim  
      estamp default 0 not null) default character set utf8 collate utf8_unicode_  
      ci) (Bindings: array (                                                       
      ))       

由于我之前使用过这个数据库,我只是尝试删除整个数据库并使用迁移重建它。但它不再起作用了。

UPDATE: 
Migration Schema -> 

    public function up()
    {
        Schema::create('users', function($table) {
            $table->increments('id');
            $table->string('username');
            $table->string('password');
            $table->timestamps();
        });
    }

Database Config -> 
        'mysql' => array(
            'driver'    => 'mysql',
            'host'      => 'localhost',
            'database'  => 'shahkelid',
            'username'  => 'root',
            'password'  => 'root',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
        ),

注意:当我运行迁移时,我确信 laravel 可以连接并找到正确的数据库,因为迁移表已创建,但问题是它在创建用户表时返回该错误。我还确定我的模式语法是正确的,因为当我为我的表选择其他名称时它工作正常。

4

0 回答 0