Merge branch 'kb_development' into kb_migration
This commit is contained in:
commit
9b032185b8
59 changed files with 1441 additions and 28 deletions
40
db/migrate/20230423002728_create_antennas.rb
Normal file
40
db/migrate/20230423002728_create_antennas.rb
Normal file
|
@ -0,0 +1,40 @@
|
|||
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
|
|
@ -0,0 +1,6 @@
|
|||
class AddDissubscribableToAccounts < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
add_column :antennas, :with_media_only, :boolean, null: false, default: false, index: true
|
||||
add_column :accounts, :dissubscribable, :boolean, null: false, default: false
|
||||
end
|
||||
end
|
67
db/schema.rb
67
db/schema.rb
|
@ -10,7 +10,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 2023_04_14_010523) do
|
||||
ActiveRecord::Schema.define(version: 2023_04_23_233429) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
@ -189,6 +189,7 @@ ActiveRecord::Schema.define(version: 2023_04_14_010523) do
|
|||
t.datetime "requested_review_at"
|
||||
t.boolean "group_allow_private_message"
|
||||
t.integer "searchability", default: 2, null: false
|
||||
t.boolean "dissubscribable", default: false, null: false
|
||||
t.index "(((setweight(to_tsvector('simple'::regconfig, (display_name)::text), 'A'::\"char\") || setweight(to_tsvector('simple'::regconfig, (username)::text), 'B'::\"char\")) || setweight(to_tsvector('simple'::regconfig, (COALESCE(domain, ''::character varying))::text), 'C'::\"char\")))", name: "search_index", using: :gin
|
||||
t.index "lower((username)::text), COALESCE(lower((domain)::text), ''::text)", name: "index_accounts_on_username_and_domain_lower", unique: true
|
||||
t.index ["moved_to_account_id"], name: "index_accounts_on_moved_to_account_id", where: "(moved_to_account_id IS NOT NULL)"
|
||||
|
@ -251,6 +252,63 @@ ActiveRecord::Schema.define(version: 2023_04_14_010523) do
|
|||
t.bigint "status_ids", array: true
|
||||
end
|
||||
|
||||
create_table "antenna_accounts", force: :cascade do |t|
|
||||
t.bigint "antenna_id", null: false
|
||||
t.bigint "account_id", null: false
|
||||
t.boolean "exclude", default: false, null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.index ["account_id"], name: "index_antenna_accounts_on_account_id"
|
||||
t.index ["antenna_id"], name: "index_antenna_accounts_on_antenna_id"
|
||||
t.index ["exclude"], name: "index_antenna_accounts_on_exclude"
|
||||
end
|
||||
|
||||
create_table "antenna_domains", force: :cascade do |t|
|
||||
t.bigint "antenna_id", null: false
|
||||
t.string "name"
|
||||
t.boolean "exclude", default: false, null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.index ["antenna_id"], name: "index_antenna_domains_on_antenna_id"
|
||||
t.index ["exclude"], name: "index_antenna_domains_on_exclude"
|
||||
t.index ["name"], name: "index_antenna_domains_on_name"
|
||||
end
|
||||
|
||||
create_table "antenna_tags", force: :cascade do |t|
|
||||
t.bigint "antenna_id", null: false
|
||||
t.bigint "tag_id", null: false
|
||||
t.boolean "exclude", default: false, null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.index ["antenna_id"], name: "index_antenna_tags_on_antenna_id"
|
||||
t.index ["exclude"], name: "index_antenna_tags_on_exclude"
|
||||
t.index ["tag_id"], name: "index_antenna_tags_on_tag_id"
|
||||
end
|
||||
|
||||
create_table "antennas", force: :cascade do |t|
|
||||
t.bigint "account_id", null: false
|
||||
t.bigint "list_id", null: false
|
||||
t.string "title", default: "", null: false
|
||||
t.jsonb "keywords"
|
||||
t.jsonb "exclude_keywords"
|
||||
t.boolean "any_domains", default: true, null: false
|
||||
t.boolean "any_tags", default: true, null: false
|
||||
t.boolean "any_accounts", default: true, null: false
|
||||
t.boolean "any_keywords", default: true, null: false
|
||||
t.boolean "available", default: true, null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.datetime "expires_at"
|
||||
t.boolean "with_media_only", default: false, null: false
|
||||
t.index ["account_id"], name: "index_antennas_on_account_id"
|
||||
t.index ["any_accounts"], name: "index_antennas_on_any_accounts"
|
||||
t.index ["any_domains"], name: "index_antennas_on_any_domains"
|
||||
t.index ["any_keywords"], name: "index_antennas_on_any_keywords"
|
||||
t.index ["any_tags"], name: "index_antennas_on_any_tags"
|
||||
t.index ["available"], name: "index_antennas_on_available"
|
||||
t.index ["list_id"], name: "index_antennas_on_list_id"
|
||||
end
|
||||
|
||||
create_table "appeals", force: :cascade do |t|
|
||||
t.bigint "account_id", null: false
|
||||
t.bigint "account_warning_id", null: false
|
||||
|
@ -1173,6 +1231,13 @@ ActiveRecord::Schema.define(version: 2023_04_14_010523) do
|
|||
add_foreign_key "announcement_reactions", "accounts", on_delete: :cascade
|
||||
add_foreign_key "announcement_reactions", "announcements", on_delete: :cascade
|
||||
add_foreign_key "announcement_reactions", "custom_emojis", on_delete: :cascade
|
||||
add_foreign_key "antenna_accounts", "accounts", on_delete: :cascade
|
||||
add_foreign_key "antenna_accounts", "antennas", on_delete: :cascade
|
||||
add_foreign_key "antenna_domains", "antennas", on_delete: :cascade
|
||||
add_foreign_key "antenna_tags", "antennas", on_delete: :cascade
|
||||
add_foreign_key "antenna_tags", "tags", on_delete: :cascade
|
||||
add_foreign_key "antennas", "accounts", on_delete: :cascade
|
||||
add_foreign_key "antennas", "lists", on_delete: :cascade
|
||||
add_foreign_key "appeals", "account_warnings", on_delete: :cascade
|
||||
add_foreign_key "appeals", "accounts", column: "approved_by_account_id", on_delete: :nullify
|
||||
add_foreign_key "appeals", "accounts", column: "rejected_by_account_id", on_delete: :nullify
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue