Add AuthUser model, connecting to openneo_id db

No user-facing functionality here yet, just configuring the database connection to work with openneo_id records.

This is a first step in integrating Devise stuff into this app instead of connecting with a weird second app.

My basic testing for this was to temporarily connect to production `openneo_id`, and see `AuthUser.first` correctly return a user!
This commit is contained in:
Emi Matchu 2023-08-03 17:14:09 -07:00
parent fbda28e453
commit 1d5af835a5
4 changed files with 46 additions and 0 deletions

2
Vagrantfile vendored
View file

@ -81,6 +81,8 @@ Vagrant.configure("2") do |config|
mysql -e "CREATE USER IF NOT EXISTS openneo_impress IDENTIFIED BY 'openneo_impress';"
mysql -e "CREATE DATABASE IF NOT EXISTS openneo_impress;"
mysql -e "GRANT ALL PRIVILEGES ON openneo_impress.* TO openneo_impress;"
mysql -e "CREATE DATABASE IF NOT EXISTS openneo_id;"
mysql -e "GRANT ALL PRIVILEGES ON openneo_id.* TO openneo_impress;"
echo 'When you log in as vagrant, run `rbenv init` and follow the instructions!'
echo 'Then, run `bundle install`, and `rake db:schema:load && rake db:seed`!'
SHELL

View file

@ -0,0 +1,5 @@
class AuthRecord < ApplicationRecord
self.abstract_class = true
connects_to database: {reading: :openneo_id, writing: :openneo_id}
end

3
app/models/auth_user.rb Normal file
View file

@ -0,0 +1,3 @@
class AuthUser < AuthRecord
self.table_name = 'users'
end

36
db/openneo_id_schema.rb Normal file
View file

@ -0,0 +1,36 @@
# This file is auto-generated from the current state of the database. Instead
# of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition.
#
# This file is the source Rails uses to define your schema when running `bin/rails
# db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to
# be faster and is potentially less error prone than running all of your
# migrations from scratch. Old migrations may fail to apply correctly if those
# migrations use external dependencies or application code.
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema[7.0].define(version: 0) do
create_table "users", id: { type: :integer, unsigned: true }, charset: "utf8", force: :cascade do |t|
t.string "name", limit: 20, null: false
t.string "encrypted_password", limit: 64, null: false
t.string "email", limit: 50, null: false
t.string "password_salt", limit: 32, null: false
t.string "reset_password_token"
t.integer "sign_in_count", default: 0
t.datetime "current_sign_in_at", precision: nil
t.datetime "last_sign_in_at", precision: nil
t.string "current_sign_in_ip"
t.string "last_sign_in_ip"
t.integer "failed_attempts", default: 0
t.string "unlock_token"
t.datetime "locked_at", precision: nil
t.datetime "created_at", precision: nil
t.datetime "updated_at", precision: nil
t.datetime "reset_password_sent_at", precision: nil
t.index ["email"], name: "index_users_on_email", unique: true
t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
t.index ["unlock_token"], name: "index_users_on_unlock_token", unique: true
end
end