class DatashiftJourneyCreateCollector < ActiveRecord::Migration[<%= @migration_version %>]
# rubocop:disable Metrics/MethodLength def change create_table :dsj_form_definitions do |t| t.string :state, index: true, null: false t.string :klass, index: true, null: false t.timestamps null: false end create_table :dsj_form_fields do |t| t.references :form_definition, index: true, null: false t.string :name, index: true, null: false, limit: 100 t.integer :category, index: true, null: false t.jsonb :options, null: false, default: {} t.timestamps null: false end add_index :dsj_form_fields, :options, using: :gin # see GIN vs GiST # The plan is an instance of a JourneyPlan class create_table :dsj_data_nodes do |t| t.references :plan, null: false, polymorphic: true t.references :form_field, null: false t.text :field_value t.timestamps null: false end create_table :dsj_snippets do |t| t.text :raw_text t.string :I18n_key, index: true t.timestamps null: false end create_table :dsj_forms_snippets do |t| t.references :form_model, null: false t.references :snippet, null: false end create_table :dsj_fields_snippets do |t| t.references :form_field, null: false t.references :snippet, null: false end end
end