【问题标题】:Why doesn't rake db:migrate report version number?为什么不 rake db:migrate 报告版本号?
【发布时间】:2010-11-13 22:01:02
【问题描述】:

rake 0.8.7,rails/activerecord 2.3.3

rake db 的输出:迁移:

== CreateProducts:迁移 =========================================== ======= -- create_table(:products) -> 0.0017 秒 == CreateProducts:迁移(0.0019s)========================================

版本号(在本例中为 20090724013528)不应该出现在迁移名称之前吗?

【问题讨论】:

  • 为了进一步澄清,Agile Web Development with Rails 第三版中显示的 rake db:migrate 的输出确实包含版本号:== 20080601000001 CreateProducts: migrating ======== ================ -- create_table(:products) -> 0.0027s == 20080601000001 CreateProducts: 迁移 (0.0028s) ============= == 我只是想弄清楚命令的输出是否已更改或是否存在其他问题。

标签: ruby-on-rails dbmigrate


【解决方案1】:

我不记得 100%,但我认为他们在将迁移切换到 UTC 时间戳时删除了该输出中的数字。

但是,您可以使用以下方法检查数据库的当前版本:

rake db:version

【讨论】:

  • 根据我在更新问题中提到的书中显示的输出,版本号在某个时候包含在内。查看生成输出的announce 方法的代码,@version 变量似乎包含一个空白而不是版本号。
【解决方案2】:

pointed out by paulsnotes,时间戳代表版本号。如果你真的想切换回序号,你可以在 environment.rb 中设置一个标志。

config.active_record.timestamped_migrations = false

【讨论】:

  • 谢谢,但我不想切换回序号。
猜你喜欢
  • 2014-01-31
  • 1970-01-01
  • 1970-01-01
  • 2021-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-23
  • 2012-01-27
相关资源
最近更新 更多