mirror of
https://github.com/ryankazokas/turbovault-app.git
synced 2026-04-17 01:42:53 +00:00
Moving to github
This commit is contained in:
29
db/migrate/20260328183428_create_users.rb
Normal file
29
db/migrate/20260328183428_create_users.rb
Normal file
@@ -0,0 +1,29 @@
|
||||
class CreateUsers < ActiveRecord::Migration[8.1]
|
||||
def change
|
||||
create_table :users do |t|
|
||||
t.string :email, null: false
|
||||
t.string :username, null: false
|
||||
t.string :password_digest, null: false
|
||||
t.text :bio
|
||||
t.boolean :profile_public, default: false, null: false
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
add_index :users, :email, unique: true
|
||||
add_index :users, :username, unique: true
|
||||
|
||||
# Enable Row Level Security
|
||||
enable_rls_on :users
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def enable_rls_on(table_name)
|
||||
execute <<-SQL
|
||||
ALTER TABLE #{table_name} ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
CREATE POLICY #{table_name}_isolation_policy ON #{table_name}
|
||||
USING (id = current_setting('app.current_user_id', true)::bigint);
|
||||
SQL
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user