【问题标题】:How can i set already migrated migrations as a migrated migrations in Laravel without migrate:fresh?如何在没有 migrate:fresh 的情况下将已经迁移的迁移设置为 Laravel 中的迁移迁移?
【发布时间】:2019-07-29 07:42:51
【问题描述】:

我的数据库中有 20 个表。我想将一个新的迁移到数据库中。 但我得到了错误:

基表或视图已经存在:1050 表“house_statuses”已经存在 存在。

这个表已经在数据库中,但是每次我想迁移一些新的东西时,我都会得到这个,而这个迁移之前已经被迁移了。

我看到了一些解决方案,例如是 Migrate:fresh, 但我不想删除我在数据库中的记录,因为要重新设置记录需要做很多工作

【问题讨论】:

  • 为什么不创建一个新的迁移?
  • 这有什么不同?我
  • 看看我的回答

标签: laravel laravel-migrations


【解决方案1】:

如果你想在你的表中插入更多的列,你应该使用Schema::table,例如:

假设您的users 表中还需要一列,您可以这样做:

使用命令:

php artisan make:migration add_age_to_users_table --table=users
Schema::table('users', function (Blueprint $table) {
    $table->integer('age');
});

然后使用:

php artisan migrate

这样您的users 表将使用新列age 进行更新

每次您想对数据库进行更改时,都应该创建一个新的迁移,而不是编辑最后一个。

【讨论】:

    【解决方案2】:

    按照以下步骤:

    1. 找到您提到的文件名以创建此表。

    2. 复制文件名

    3. 将文件名插入迁移表。

    也许对你有帮助。

    【讨论】:

    • 它已经在迁移表中。我将其删除并重新添加,但仍然无法正常工作
    猜你喜欢
    • 2022-09-29
    • 1970-01-01
    • 2019-12-27
    • 2021-02-28
    • 2018-11-10
    • 2017-07-09
    • 1970-01-01
    • 2018-03-09
    • 2017-06-26
    相关资源
    最近更新 更多