Sha256: 315570819e592a9006c4fd34dded7676c8d1f40a431a6af2bbfb35a4a222a73d

Contents?: true

Size: 1.23 KB

Versions: 2

Compression:

Stored size: 1.23 KB

Contents

class <%= migration_class_name %> < ActiveRecord::Migration
  def change
<%- fields.add.each do |field| -%>
  <%- if field.reference? -%>
    add_reference :<%= table_name %>, :<%= field.name %><%= field.opts_text %>
    <%- unless field.polymorphic? -%>
    add_foreign_key :<%= table_name %>, :<%= field.name.pluralize %>
    <%- end -%>
  <%- end -%>
    add_column :<%= table_name %>, :<%= field.name %>, :<%= field.type %><%= field.opts_text %>
<%- end -%>
<%- fields.change.each do |field| -%>
    change_column :<%= table_name %>, :<%= field.name %>, :<%= field.type %><%= field.opts_text %>
<%- end -%>

<%- indexes.remove do |index| -%>
    remove_index :<%= table_name %>, <%= index.fields_text %>
<%- end -%>
<%- fields.remove.each do |field| -%>
    remove_column :<%= table_name %>, :<%= field.name %>
<%- end -%>
<%- indexes.add.each do |index| -%>
    add_index :<%= table_name %>, <%= index.fields_text %><%= index.opts_text %>
<%- end -%>
  end
<%- if migration_action == 'join' -%>
    create_join_table :<%= join_tables.first %>, :<%= join_tables.second %> do |t|
    <%- fields.each do |field| -%>
      <%= '# ' unless field.has_index? -%>t.index <%= field.index_name %><%= field.opts_text %>
    <%- end -%>
    end
  end
<%- end -%>
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
schemaless-0.0.5 lib/generators/schemaless/migrations/templates/change_table.rb
schemaless-0.0.3 lib/generators/schemaless/migrations/templates/change_table.rb