当前位置: 首页 > 知识库问答 >
问题:

Laravel迁移不起作用,缺少“迁移”表

庞安晏
2023-03-14

如果运行php artisan migrate,它会失败

未找到基表或视图:1146表*.迁移不存在。

数据库是空的。

如果我运行php artisan migrate:install我会看到迁移表,但它是空的。

DB显示迁移表,但它是空的。

如果我再次运行php artisan migrate,数据库再次为空,我会得到相同的错误:

未找到基表或视图:1146表*.迁移不存在。

也许有人知道这里发生了什么。

共有2个答案

鲁博瀚
2023-03-14

可能有几件事:

  • 尝试php工匠迁移:重置
  • 您的迁移文件中可能存在错误:请检查此处
亢建白
2023-03-14

为了解决这个问题,我需要将以下代码添加到应用/提供商/AppServiceProvider.php:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;  # Added this Line

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Schema::defaultStringLength(191);  # Added this Line
    }
}

运行php artisan migrate:fresh最终导致:

Dropped all tables successfully.
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (14.68ms)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (12.33ms)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated:  2019_08_19_000000_create_failed_jobs_table (18.95ms)

来源: Laravel迁移错误:语法错误或访问冲突: 1071指定密钥太长;最大密钥长度为767字节

非常感谢韦伯和马蒂金!!

 类似资料:
  • 我是laravel的新手,我正在探索如何进行迁移。我创建了一个新的用户表,当我运行时,它会给我。我运行了然后运行了,但没有任何乐趣。我如下所示配置了我的。env文件: db_connection=mysql db_host=127.0.0.1 db_password=secret

  • 我买了新的MacBook Pro,我在其中安装了mysql,然后安装sequel Pro来查看表和数据库,但是当我命令时,这个错误指控错误图像 近30个小时来,我一直在忍受这个问题,有人能帮我看一下吗

  • 迁移cache分页 仓库地址: cache 安装 composer require illuminate/cache 暂时实现 redis方式 还需安装 composer require illuminate/redis composer require predis/predis //个人比较喜欢predis 启动predis function frameInitialized() {

  • 迁移pagination分页 仓库地址: pagination 安装 composer require illuminate/pagination 我们可以用illuminate/pagination分页了 $users = User::paginate(15); //在你的模板 {!! $users->links() !!} 然后你将看到一堆莫名其妙的错误,没关系,让我们来解决它。既然不能像l

  • 迁移数据库ORM层 迁移模板Blade 迁移分页 迁移验证器 迁移Cache

  • 当我使用laravel迁移在数据库中创建表时,我遇到了这个问题。我不知道它可能有什么问题,因为我在以前的系统上使用相同的命令。这是我在使用作曲家创建表时得到的错误。 $php artisan迁移迁移表已成功创建。 [Illumb\Database\QueryException]SQLSTATE[42000]:语法错误或访问冲突:1071指定的密钥太长;最大密钥长度为767字节(SQL:alter