Sha256: 5374e6077809fdcf5a3dde0be0bc671ca7dd4cf4f930b69f0626a7aeb5d69b8a

Contents?: true

Size: 1.08 KB

Versions: 115

Compression:

Stored size: 1.08 KB

Contents

# This migration comes from noticed (originally 20231215190233)
class CreateNoticedTables < ActiveRecord::Migration[6.1]
  def change
    primary_key_type, foreign_key_type = primary_and_foreign_key_types
    create_table :noticed_events, id: primary_key_type do |t|
      t.string :type
      t.belongs_to :record, polymorphic: true, type: foreign_key_type
      if t.respond_to?(:jsonb)
        t.jsonb :params
      else
        t.json :params
      end

      t.timestamps
    end

    create_table :noticed_notifications, id: primary_key_type do |t|
      t.string :type
      t.belongs_to :event, null: false, type: foreign_key_type
      t.belongs_to :recipient, polymorphic: true, null: false, type: foreign_key_type
      t.datetime :read_at
      t.datetime :seen_at

      t.timestamps
    end
  end

  private

  def primary_and_foreign_key_types
    config = Rails.configuration.generators
    setting = config.options[config.orm][:primary_key_type]
    primary_key_type = setting || :primary_key
    foreign_key_type = setting || :bigint
    [primary_key_type, foreign_key_type]
  end
end

Version data entries

115 entries across 115 versions & 1 rubygems

Version Path
pg_rails-7.6.35 pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb
pg_rails-7.6.34 pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb
pg_rails-7.6.33 pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb
pg_rails-7.6.32 pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb
pg_rails-7.6.31 pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb
pg_rails-7.6.30 pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb
pg_rails-7.6.29 pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb
pg_rails-7.6.28 pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb
pg_rails-7.6.27 pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb
pg_rails-7.6.26 pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb
pg_rails-7.6.25 pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb
pg_rails-7.6.24 pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb
pg_rails-7.6.24.pre.5 pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb
pg_rails-7.6.24.pre.4 pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb
pg_rails-7.6.24.pre.3 pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb
pg_rails-7.6.23 pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb
pg_rails-7.6.22 pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb
pg_rails-7.6.22.pre.3 pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb
pg_rails-7.6.22.pre.2 pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb
pg_rails-7.6.22.pre.1 pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb