123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- class <%= migration_class_name %> < ActiveRecord::Migration[<%= ActiveRecord::Migration.current_version %>]
- <%- if migration_action == 'add' -%>
- def change
- <%# Begin Zammad customization -%>
- # return if it's a new setup
- return if !Setting.exists?(name: 'system_init_done')
- <%# End Zammad customization -%>
- <% attributes.each do |attribute| -%>
- <%- if attribute.reference? -%>
- add_reference :<%= table_name %>, :<%= attribute.name %><%= attribute.inject_options %><%= foreign_key_type %>
- <%- elsif attribute.token? -%>
- add_column :<%= table_name %>, :<%= attribute.name %>, :string<%= attribute.inject_options %>
- add_index :<%= table_name %>, :<%= attribute.index_name %><%= attribute.inject_index_options %>, unique: true
- <%- elsif !attribute.virtual? -%>
- add_column :<%= table_name %>, :<%= attribute.name %>, :<%= attribute.type %><%= attribute.inject_options %>
- <%- if attribute.has_index? -%>
- add_index :<%= table_name %>, :<%= attribute.index_name %><%= attribute.inject_index_options %>
- <%- end -%>
- <%- end -%>
- <%- end -%>
- end
- <%- elsif migration_action == 'join' -%>
- def change
- <%# Begin Zammad customization -%>
- # return if it's a new setup
- return if !Setting.exists?(name: 'system_init_done')
- <%# End Zammad customization -%>
- create_join_table :<%= join_tables.first %>, :<%= join_tables.second %> do |t|
- <%- attributes.each do |attribute| -%>
- <%- if attribute.reference? -%>
- t.references :<%= attribute.name %><%= attribute.inject_options %><%= foreign_key_type %>
- <%- elsif !attribute.virtual? -%>
- <%= '# ' unless attribute.has_index? -%>t.index <%= attribute.index_name %><%= attribute.inject_index_options %>
- <%- end -%>
- <%- end -%>
- end
- end
- <%- else -%>
- def change
- <%# Begin Zammad customization -%>
- # return if it's a new setup
- return if !Setting.exists?(name: 'system_init_done')
- <%# End Zammad customization -%>
- <% attributes.each do |attribute| -%>
- <%- if migration_action -%>
- <%- if attribute.reference? -%>
- remove_reference :<%= table_name %>, :<%= attribute.name %><%= attribute.inject_options %><%= foreign_key_type %>
- <%- else -%>
- <%- if attribute.has_index? -%>
- remove_index :<%= table_name %>, :<%= attribute.index_name %><%= attribute.inject_index_options %>
- <%- end -%>
- <%- if !attribute.virtual? -%>
- remove_column :<%= table_name %>, :<%= attribute.name %>, :<%= attribute.type %><%= attribute.inject_options %>
- <%- end -%>
- <%- end -%>
- <%- end -%>
- <%- end -%>
- end
- <%- end -%>
- end
|