Files
euchre_camp/db/migrate/20240915000008_create_users.rb
T
david e7ddd0f72f feat(auth): implement authentication system foundation
Add user authentication infrastructure with login/logout functionality,
session management, and basic user model.

Changes:
- Create users table with email, password_digest, confirmation tokens
- Add Users repository with authentication methods
- Add User entity with authentication helpers
- Implement login form and authentication actions
- Add logout action
- Add BCrypt gem for password hashing
- Update base Action class with authentication helpers
- Add login/logout routes

Next steps: Registration flow, password reset, email confirmation
2026-03-27 12:25:08 -07:00

28 lines
981 B
Ruby

# frozen_string_literal: true
ROM::SQL.migration do
change do
create_table :users do
primary_key :id
foreign_key :player_id, :players, null: false
column :email, String, null: false, unique: true
column :password_digest, String, null: false
column :confirmed, Boolean, default: false
column :confirmation_token, String
column :confirmation_sent_at, DateTime
column :reset_password_token, String
column :reset_password_sent_at, DateTime
column :failed_login_attempts, Integer, default: 0
column :locked_until, DateTime
column :last_login_at, DateTime
column :last_login_ip, String
column :created_at, DateTime, null: false, default: Sequel::CURRENT_TIMESTAMP
column :updated_at, DateTime, null: false, default: Sequel::CURRENT_TIMESTAMP
end
add_index :users, :email, unique: true
add_index :users, :confirmation_token
add_index :users, :reset_password_token
end
end