【问题标题】:Regenerate ERD after rake db:migraterake db:migrate 后重新生成 ERD
【发布时间】:2014-06-03 14:27:28
【问题描述】:

我正在使用http://rails-erd.rubyforge.org/ 生成 ERD - 输出是我项目对象模型的非常好的图表。还有一个 rake 任务来生成 ERD,generate_erd,我希望在运行 rake db:migrate 后自动调用它。我该怎么做?

【问题讨论】:

标签: ruby-on-rails ruby rails-migrations erd diagramming


【解决方案1】:

@MaxWilliams 提供的链接很有帮助,但我认为这些答案中的任何一个都不能满足您的要求。我找到了this 关于 Rake 任务覆盖的文章。它是从 2008 年开始的,但我试过了,它奏效了。

我创建了另一个 .rake 文件(用于组织),只是碰巧叫我的migrate_and_generate_erb.rake,但你可以随意命名。

里面我只有这个:

namespace :db do
  task :migrate do
    Rake::Task["erd"].invoke
  end
end

基本上,根据文章,如果任务已经定义,Rake 只是不断将代码实现附加到任务中。

现在运行 rake db:migrate 也生成了我的 ERD。

小心:您还需要对db:rollback 执行相同的操作,以便回滚迁移也会更新您的 ERD。

最后一点:考虑也只是给这个(shell 命令)起别名,以防万一您想在不生成 ERD 的情况下运行迁移,或者在新的 Rake 任务中使用环境变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-06
    • 1970-01-01
    • 2016-11-19
    • 2016-06-18
    • 1970-01-01
    相关资源
    最近更新 更多