laravel 5.4 迁移问题
Posted
技术标签:
【中文标题】laravel 5.4 迁移问题【英文标题】:laravel 5.4 migration issue 【发布时间】:2017-07-14 05:47:53 【问题描述】:我在运行时遇到了一个非常奇怪的问题
php artisan migrate
在本地 XAMPP 服务器上使用 php 7.1.1 全新安装 Laravel 5.4。
它所做的是创建一个迁移和用户表,这是旧版本 Laravel 中的默认表。应该创建的是用户表和密码重置表,即新的默认表。我的 env 文件是正确的,因为我正确连接到数据库,但是如果我在 env 文件中更改要连接的表,它不会更新。
对我来说,该命令似乎根本没有在应用程序中正确的迁移文件夹上运行。这是一台全新安装 XAMPP 和 Laravel 的全新机器,所以我很困惑为什么会这样。任何帮助将不胜感激!!!
【问题讨论】:
你能提供一份你的迁移文件列表吗? 当然是的@Kurucu 这是我迁移文件夹中的当前文件:database\migrations\2014_10_12_000000_create_users_table database\migrations\2014_10_12_100000_create_password_resets_table a) 当您说更改 .env 文件中的表时,我假设您的意思是数据库? b) 您查看的数据库是否与 .env 文件中的数据库相同;即您是否看到旧表是因为您正在查看错误的数据库?尝试删除所有表并重新运行迁移。 【参考方案1】:php 工匠迁移:刷新 php工匠迁移
【讨论】:
【参考方案2】:我终于能够让它工作,所以我想回答这个问题来解释我做了什么。
这第一步可能对你来说不是必需的,但对我来说是必需的。再一次,这是我使用的:Laravel 5.4 on a local XAMPP server with php 7.1.1
-首先我需要编辑 app>Providers>AppServiceProvider.php https://laravel-news.com/laravel-5-4-key-too-long-error
-将此行添加到顶部,其他用途包括:use Illuminate\Support\Facades\Schema;
- 在 boot() 函数中添加此代码:Schema::defaultStringLength(191);
-之后我需要运行php artisan migrate
,从迁移中创建默认表。由于某种原因,我无法通过任何数量的研究找到原因,这会从未知来源创建旧表。之后我需要编辑 create_users_table 迁移,删除数据库中创建的用户和迁移表,然后重新运行php artisan migrate
。就像我说的那样,我不确定为什么必须这样做,但它会让它发挥作用。
另外,为了安全起见,请记住在最后一次运行 php artisan migrate
之前运行这些命令:
php artisan cache:clear
php artisan config:cache
【讨论】:
对我来说,出于某种原因 php artisan migrate 正在查看另一个 laravel 项目在 XAMPP 中的数据库。这是我学会为项目使用唯一密码的那一天,我不想在我的另一个项目中“删除”用户表。事实上,我不得不php artisan cache:clear
和php artisan config:cache
几次,然后php artisan migrate
工作。以上是关于laravel 5.4 迁移问题的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5.4 迁移 ENUM 在 MySQL 中失败