2025-09-26 18:46:29 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
|
|
class CreateFamilyMemberships < ActiveRecord::Migration[8.0]
|
|
|
|
|
def change
|
2025-09-30 12:43:26 -04:00
|
|
|
create_table :family_memberships do |t|
|
|
|
|
|
t.bigint :family_id, null: false
|
2025-09-26 18:46:29 -04:00
|
|
|
t.bigint :user_id, null: false
|
|
|
|
|
t.integer :role, null: false, default: 1 # member
|
|
|
|
|
t.timestamps
|
|
|
|
|
end
|
|
|
|
|
|
2025-11-07 13:19:29 -05:00
|
|
|
add_foreign_key :family_memberships, :families
|
|
|
|
|
add_foreign_key :family_memberships, :users
|
2025-09-26 18:46:29 -04:00
|
|
|
add_index :family_memberships, :user_id, unique: true # One family per user
|
2025-10-05 08:02:18 -04:00
|
|
|
add_index :family_memberships, %i[family_id role], name: 'index_family_memberships_on_family_and_role'
|
2025-09-26 18:46:29 -04:00
|
|
|
end
|
|
|
|
|
end
|