我得到rails在迁移文件名中使用时间戳。它如何利用这些来确定到目前为止已经运行的迁移以及仍需要运行的迁移?是否存储了一个值,让它知道上次运行的迁移?
答案 0 :(得分:3)
在您的数据库中,有一个名为schema_migrations
的表可以跟踪它。它由rails自动维护,并且有一个名为version
的列。该列包含迁移的日期时间戳,每行代表已经运行的迁移。
因此,Rails可以查看您的所有迁移信息。应用程序中的文件,找出哪些文档在schema_migrations
表中还没有相应的行,然后运行它们(向模式迁移表添加新行,对于每次迁移,运行时)
以下是schema_migrations
表格内容的示例。