如何从 Laravel 项目中删除所有迁移但保留表和字段

Posted

技术标签:

【中文标题】如何从 Laravel 项目中删除所有迁移但保留表和字段【英文标题】:How to remove all migrations from a Laravel project but keep the tables and fields 【发布时间】:2019-10-20 19:27:01 【问题描述】:

我决定从 Laravel 5.7 项目中删除所有迁移,因为我宁愿手动创建/更新表。我已经意识到,在没有任何迁移文件的情况下仍然可以从数据库中加载数据。

【问题讨论】:

【参考方案1】:

删除迁移表中的迁移文件和数据,但保留其他表和字段。

从此SO answer修改的步骤。

备份数据库。 official link for mysqldump command。 删除迁移文件夹\database\migrations\中的所有文件 删除MySQL中migrations表的内容delete from migrations; 在项目文件夹中运行composer dump-autoload

如果您是手动管理表格,请记住添加

created_attimestamp NULL DEFAULT NULL

updated_attimestamp NULL DEFAULT NULL

如果您想使用 Laravel 内置的时间戳功能,请在表格中添加字段。如果您不想使用它,请忽略它们并将以下行添加到模型中:

public $timestamps = false;

有关时间戳的更多详细信息,请参阅SO question。

【讨论】:

以上是关于如何从 Laravel 项目中删除所有迁移但保留表和字段的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 从数据库生成迁移

使用 Laravel 将数据从表迁移到不同的表

如何在 laravel 中运行特定迁移 [重复]

如何在 laravel 中获取所有模型/迁移名称并添加单个新列

Laravel 迁移:删除特定表

如何在laravel迁移中编辑原始表?