You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
17 lines
975 B
17 lines
975 B
class AddPerformanceIndexes < ActiveRecord::Migration[7.1]
|
|
def change
|
|
# Entries
|
|
add_index :entries, :user_id unless index_exists?(:entries, :user_id)
|
|
add_index :entries, [:user_id, :date] unless index_exists?(:entries, [:user_id, :date])
|
|
add_index :entries, [:user_id, :entry_art] unless index_exists?(:entries, [:user_id, :entry_art])
|
|
add_index :entries, [:user_id, :praktikums_typ] unless index_exists?(:entries, [:user_id, :praktikums_typ])
|
|
|
|
# Users (falls du häufig nach E-Mail oder Bestätigungsstatus filterst)
|
|
add_index :users, :email unless index_exists?(:users, :email)
|
|
add_index :users, :confirmation_token unless index_exists?(:users, :confirmation_token)
|
|
add_index :users, :reset_password_token unless index_exists?(:users, :reset_password_token)
|
|
|
|
# Fortbildungskosten‑Reports: Jahr extrahieren aus date
|
|
add_index :entries, "DATE_PART('year', date)", name: 'index_entries_on_year', using: :btree
|
|
end
|
|
end
|