就在几周前,我开始使用Laravel(我将RoR作为标记添加为标签,因为我知道两者之间的迁移类似),并且仍然习惯于使用迁移。我试着阅读一些文档和教程(Laravel和其他使用它们的框架,比如Rails),他们通常会很好地解释如何使用它们,但我仍然无法掌握如何有效地使用它们。有些问题我有:如何使用迁移
如果我在一个视图中创建一个表,并稍后决定添加几列,也许下降几其他,我该怎么办呢?我知道编辑现有的迁移并不是正确的方法。我是否添加了一个新的迁移,添加了新列并删除了旧列?如果是的话,是否有一个命名约定,当创建一个名为users的表时,所有的教程通常都将迁移命名为create_users,我称之为迁移update_users?如果我想对用户进行另一次更新,那么我会有两个名为Update_Users的类。另外,我用这种方法遇到的问题是,我感觉我对数据库结构没有很好的概述,表列可能分散在十几个迁移文件中。
如果我想用测试数据填充我的表格,那么在单独的迁移过程中,比如Laravel 4中的种子更好吗?
我应该在每个迁移中只有一个表吗?据了解,在我的create_users迁移中,我创建了三个表格;用户,角色和角色用户,将它们放在单独的迁移中更好吗?
谢谢,我觉得这回答了我的大部分问题。然而,我没有使用Rails,而是使用PHP框架Laravel(类似的迁移)和Laravel不支持种子,但下一个版本将会发布,因为我还没有做出转换。但我想我仍然应该使用单独的迁移来为测试数据填充表格? – Nait
那么,我有时会使用数据迁移并将所有数据都放在那个数据迁移中。但我确定,我可以通过使用find_or_create或类似的机制(只有在尚不可用时才创建),按照需要经常运行迁移。 – alto