Class: CreateSegmentorTables
- Inherits:
-
Object
- Object
- CreateSegmentorTables
- Defined in:
- lib/generators/segmentor/templates/create_segmentor_tables.rb
Overview
Create the tables for the Segmentor gem
Instance Method Summary collapse
Instance Method Details
#change ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/generators/segmentor/templates/create_segmentor_tables.rb', line 5 def change create_table :segmentor_segments, force: true do |t| t.string :name t.string :description t.integer :repeat_frequency, default: 0 t.boolean :auto_activate, default: false t. end create_table :segmentor_sources, force: true do |t| t.string :type, null: false t.text :code, null: true t.references :segment, foreign_key: { to_table: :segmentor_segments }, index: { unique: true } t. end create_table :segmentor_notifier_contexts, force: true do |t| t.string :type, null: false t.references :segment, foreign_key: { to_table: :segmentor_segments } t.text :email_template, null: true # ::Segmentor::EmailNotifierContext t. end create_table :segmentor_sessions, force: true do |t| t.references :segment, foreign_key: { to_table: :segmentor_segments } t.string :session_id, null: false, index: true t.text :reason, null: true t.integer :status, default: 0 t. end create_table :segmentor_targets, force: true do |t| t.references :session, foreign_key: { to_table: :segmentor_sessions } t.references :segment, foreign_key: { to_table: :segmentor_segments } t.integer :user_id t.json :payload t. end create_table :segmentor_receipts, force: true do |t| t.references :segment, foreign_key: { to_table: :segmentor_segments } t.integer :user_id, null: false t.json :metadata, null: true t.text :rendered_value, null: true t.datetime :sent_at t. end end |