nas/db/migrate/20230423002728_create_antennas.rb

42 lines
1.8 KiB
Ruby

# frozen_string_literal: true
class CreateAntennas < ActiveRecord::Migration[6.1]
def change
create_table :antennas do |t|
t.belongs_to :account, null: false, foreign_key: { on_delete: :cascade }
t.belongs_to :list, null: false, foreign_key: { on_delete: :cascade }
t.string :title, null: false, default: ''
t.jsonb :keywords
t.jsonb :exclude_keywords
t.boolean :any_domains, null: false, default: true, index: true
t.boolean :any_tags, null: false, default: true, index: true
t.boolean :any_accounts, null: false, default: true, index: true
t.boolean :any_keywords, null: false, default: true, index: true
t.boolean :available, null: false, default: true, index: true
t.datetime :created_at, null: false
t.datetime :updated_at, null: false
t.datetime :expires_at
end
create_table :antenna_domains do |t|
t.belongs_to :antenna, null: false, foreign_key: { on_delete: :cascade }
t.string :name, index: true
t.boolean :exclude, null: false, default: false, index: true
t.datetime :created_at, null: false
t.datetime :updated_at, null: false
end
create_table :antenna_tags do |t|
t.belongs_to :antenna, null: false, foreign_key: { on_delete: :cascade }
t.belongs_to :tag, null: false, foreign_key: { on_delete: :cascade }
t.boolean :exclude, null: false, default: false, index: true
t.datetime :created_at, null: false
t.datetime :updated_at, null: false
end
create_table :antenna_accounts do |t|
t.belongs_to :antenna, null: false, foreign_key: { on_delete: :cascade }
t.belongs_to :account, null: false, foreign_key: { on_delete: :cascade }
t.boolean :exclude, null: false, default: false, index: true
t.datetime :created_at, null: false
t.datetime :updated_at, null: false
end
end
end