【发布时间】:2015-04-28 00:26:55
【问题描述】:
我知道 rails 在迁移文件名中使用了时间戳。它如何利用这些来确定到目前为止已经运行了哪些迁移以及还需要运行哪些迁移?是否有一个值存储在某个地方,可以让它知道上次运行的迁移?
【问题讨论】:
标签: mysql ruby-on-rails migration
我知道 rails 在迁移文件名中使用了时间戳。它如何利用这些来确定到目前为止已经运行了哪些迁移以及还需要运行哪些迁移?是否有一个值存储在某个地方,可以让它知道上次运行的迁移?
【问题讨论】:
标签: mysql ruby-on-rails migration
在您的数据库中,有一个名为schema_migrations 的表用于跟踪它。它由 rails 自动维护,并且有一个名为 version 的列。该列包含迁移的日期时间戳,每一行代表已经运行的迁移。
因此,Rails 可以查看应用程序中的所有“迁移”文件,找出哪些文件在 schema_migrations 表中还没有对应的行,然后运行它们(向架构迁移表添加新行,对于每次迁移,在运行时)
这是schema_migrations 表的内容示例。
【讨论】: