Rails 迁移约定
Rails Migrations Convention
我最近开始使用 rails,我注意到在开发过程中,随着您的想法和数据库的改变,您最终可能会得到很多迁移文件。 rails 中是否有避免累积大量迁移并删除冗余的约定(例如一次迁移添加一个 table 然后下一次删除它)?或者,最好保留所有迁移并且从不删除它们?谢谢
如果您在一个团队中工作,这是首选,您应该始终保留所有迁移。
假设您将迁移推送到 Git,后来发现它需要一些更改。因此,您还原并删除迁移并创建一个新迁移并推送新更改。它在你的机器上运行良好。但是,如果您之前的错误迁移以某种方式被您的任何队友 运行 提取,他将不得不 运行 新的迁移,这将破坏您队友计算机中的应用程序。
但是如果你是单独工作并且想要稍微整洁一点,那么你可以在恢复迁移后小心地删除它们(不推荐)。
迁移文件的主要工作是改变数据库架构。删除多余的(例如一次迁移添加 table 然后下一次删除它)不会导致任何问题,它会释放一些磁盘 space 和 slug 大小。
我最近开始使用 rails,我注意到在开发过程中,随着您的想法和数据库的改变,您最终可能会得到很多迁移文件。 rails 中是否有避免累积大量迁移并删除冗余的约定(例如一次迁移添加一个 table 然后下一次删除它)?或者,最好保留所有迁移并且从不删除它们?谢谢
如果您在一个团队中工作,这是首选,您应该始终保留所有迁移。
假设您将迁移推送到 Git,后来发现它需要一些更改。因此,您还原并删除迁移并创建一个新迁移并推送新更改。它在你的机器上运行良好。但是,如果您之前的错误迁移以某种方式被您的任何队友 运行 提取,他将不得不 运行 新的迁移,这将破坏您队友计算机中的应用程序。
但是如果你是单独工作并且想要稍微整洁一点,那么你可以在恢复迁移后小心地删除它们(不推荐)。
迁移文件的主要工作是改变数据库架构。删除多余的(例如一次迁移添加 table 然后下一次删除它)不会导致任何问题,它会释放一些磁盘 space 和 slug 大小。