<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>fengzhianshang</title>
    <link>https://ruby-china.org/fengzhianshang</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>rails-erd 生成 rails application 的实体关系图</title>
      <description>&lt;p&gt;rails-erd 是为 ruby on rails 生成 entity-relationship diagrams（实体关系图）的 gem，rails-erd 使用 Graphviz(一个开源的可视化图形软件) 生成实体关系图，所以使用 rails-erd 之前要确保机器上安装了 graphviz.&lt;/p&gt;
&lt;h3 id="安装graphviz"&gt;安装 graphviz&lt;/h3&gt;
&lt;p&gt;如果没有安装 grapphviz，则需要先安装 graphvize，下面是 mac 机器和 linux 内核机器上安装 graphviz&lt;/p&gt;
&lt;h4 id="Mac OS X"&gt;Mac OS X&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;brew install graphviz&lt;/code&gt;
或者
&lt;code&gt;sudo port install graphviz&lt;/code&gt;&lt;/p&gt;
&lt;h4 id="Debian 和Ubuntu"&gt;Debian 和 Ubuntu&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;sudo aptitude install graphviz&lt;/code&gt;
备注：当然 apt-get install 也是可以的&lt;/p&gt;
&lt;h3 id="在Gemfile中引入rails-erd"&gt;在 Gemfile 中引入 rails-erd&lt;/h3&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;group :development do
  gem 'rails-erd'
end​
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;bundle install&lt;/code&gt;&lt;/p&gt;
&lt;h3 id="生成实体关系图（Entity-Relationship Diagrams）"&gt;生成实体关系图（Entity-Relationship Diagrams）&lt;/h3&gt;
&lt;p&gt;执行&lt;code&gt;rake erd&lt;/code&gt;就生成实体关系图了（当然使用的的是默认参数，生成的实体关系图可能不符合你的要求，可以指定各个可用属性来生成满足自己需求的实体关系图）&lt;/p&gt;
&lt;h3 id="Available Options"&gt;Available Options&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;title&lt;/strong&gt;
&lt;code&gt;rake erd title='my models relationship'&lt;/code&gt;
指定生成的图表的名字&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;filename&lt;/strong&gt;
&lt;code&gt;rake erd filename='my_application_model' filetype='dot'&lt;/code&gt;​​
指定生成的图标文件的名字和格式，默认的名字为 ERD，默认的格式为 pdf，所以一般就不用修改格式了&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;indirect&lt;/strong&gt;
&lt;code&gt;rake erd indirect=true&lt;/code&gt; 
显示两个模型间间接的关系，即通过 has_many :comments, through: :blogs 关联的两个模型的关系&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;inheritance&lt;/strong&gt;
&lt;code&gt;rake erd inheritance=true&lt;/code&gt; 
是否显示继承关系，主要用于单表继承​，默认是 false，不显示单表继承，如果想显示单表继承的关系将值设置为 true​&lt;/p&gt;

&lt;p&gt;rails-erd 的官方地址：&lt;a href="http://voormedia.github.io/rails-erd/" rel="nofollow" target="_blank"&gt;http://voormedia.github.io/rails-erd/&lt;/a&gt;&lt;/p&gt;</description>
      <author>fengzhianshang</author>
      <pubDate>Sun, 06 Sep 2015 16:31:04 +0800</pubDate>
      <link>https://ruby-china.org/topics/27212</link>
      <guid>https://ruby-china.org/topics/27212</guid>
    </item>
  </channel>
</rss>
