【问题标题】:Using database migrations vs workbench使用数据库迁移与工作台
【发布时间】:2014-01-22 20:07:24
【问题描述】:

我用的是 laravel 框架,其实没关系。 问题是我为什么要使用数据库迁移以及如何在开发应用程序时正确使用数据库。

例如,我正在构建一个大型网络应用程序,该应用程序最终将包含 30 多个表格。一开始我根本没有数据库,我才刚刚开始构建它。进行以下迁移似乎不是一个好方法: 1.添加用户表 2.在用户表中添加regdate字段 3.添加用户权限表 4.忘记给用户和权限表添加外键约束(链接ID) 5. 添加照片表...

首先,在第一步中,我将在 mysql workbench 等工具中一次制作大部分表格。说,15张桌子。我会在 laravel 中将其称为“数据库初始化”迁移吗?

然后,如果我需要同步我的更改,我将使用 Workbench 进行同步,因为它具有这样的功能,因此不会出现任何人为错误。如果我与团队合作,我可以在某处共享工作台模型,将其移除(不确定我是否可以加载远程模型,我不是工作台专业人士,但无论如何我可以上传更改,如果我改变了一些东西)。

我不能回滚的唯一缺点,但是 1.不确定我是否真的需要这个功能,通常我记得我​​的更改,我可以删除它们并再次通过工作台同步 2. 像在 laravel 中一样的迁移系统,我可以保存很多工作台文件

但我喜欢的是我可以一次看到所有数据库的所有关系,我可以轻松管理它(无需编写代码)

【问题讨论】:

    标签: mysql database laravel migration database-migration


    【解决方案1】:

    您无需为开发期间所做的每项更改都创建新的迁移。您可以使用php artisan migrate:refresh 并继续更改现有的迁移文件。

    我个人会这样做,直到网站是:

    1. 数据库“设计”完成
    2. 我团队中的其他人需要数据库的副本

    仅当存在分叉的可能性时(例如多个程序员在处理应用程序),您才需要创建多个迁移。

    把它想象成版本控制。在开发的早期阶段,您可能不会在每次发生细微变化时都创建提交,但是当您在开发过程中达到某些代码需要分叉的程度时,您将提交/推送。

    【讨论】:

      猜你喜欢
      • 2021-10-03
      • 1970-01-01
      • 2019-09-02
      • 2021-11-18
      • 2017-07-22
      • 1970-01-01
      • 2021-11-06
      • 2019-10-10
      • 2010-10-08
      相关资源
      最近更新 更多