title: Where does the TableDefinition.string method come from?
body: <p>The code following is presented as an example in <a href="http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/TableDefinition.html" rel="nofollow">Ruby on Rails 4.2.3</a></p>
  
  <pre><code>create_table :products do |t|
    t.integer :shop_id, :creator_id
    t.string  :item_number, index: true
    # ^^^^^^
    t.string  :name, :value, default: "Untitled"
    t.timestamps null: false
  end
  </code></pre>
  
  <p>Is this <code>.string</code> a method or something else? Which class or module does it come from? I've gone through the source code of <code>ActiveRecord::ConnectionAdapters::TableDefinition</code> on github, but nothing interesting could be found. </p>