代码之家  ›  专栏  ›  技术社区  ›  ProgLover

如何修改迁移并在不丢失数据的情况下进行迁移?

  •  0
  • ProgLover  · 技术社区  · 6 年前

    我使用迁移创建了一个MYSQL数据库,向其中添加了一些数据,但之后我意识到需要向表中添加一个新列。

    我运行了命令:“php artisan migrate”,但由于无法同步 列,则返回无需迁移的内容。

    所以我运行了命令“php-artisan-migrate:reset”,然后运行了命令 “php artisan migrate”再次出现,数据库模式已正确更新,但我确信 丢失了所有插入的数据。

    现在我只是在测试应用程序,但如果我发现我应该在数据库运行时修改它,而它运行的是真实的数据,那将是非常有害的!!!在这种情况下我该怎么办?

    我是否应该跳过使用迁移,直接使用 wamp?或者使用迁移,但以后直接在数据库上执行任何更新,而不更新迁移文件?还是有其他解决方案?

    2 回复  |  直到 6 年前
        1
  •  7
  •   Option    6 年前

    答复

    如果您已经创建了一个数据库表,并且意识到需要向其中添加更多内容,则只需运行: php artisan make:migration add_field_to_table_name --table=tableName

    然后进入该文件并创建新字段。完成后,只需运行 php artisan migrate 它会将新字段添加到所需的表中,而不会导致任何数据丢失。


    播种者

    另一方面,我强烈建议调查播种机。这样,在创建项目时,始终可以刷新迁移(擦除数据库并重新迁移表),然后使用播种器重新输入数据。

        2
  •  2
  •   Alex    6 年前

    您可以创建迁移来更改表。添加新列等。