diff --git a/app/assets/stylesheets/admin/styles.sass b/app/assets/stylesheets/admin/styles.sass
index 749a772a45ffbb0cfb3d9d11333af732bde1cf0d..2bef76650ede9a2f857930b9aacf0d4c1941a756 100644
--- a/app/assets/stylesheets/admin/styles.sass
+++ b/app/assets/stylesheets/admin/styles.sass
@@ -1,8 +1,8 @@
 h1
-  margin-bottom: 30px
+    margin-bottom: 30px
 
 .sidebar-nav .fas
-  min-width: 20px
+    min-width: 20px
 
 body, body[data-theme=dark]
     .sidebar-content
diff --git a/app/controllers/admin/universities_controller.rb b/app/controllers/admin/universities_controller.rb
index e34d9f1cdb18eec7e1176e0e24a266f4d21b4318..8347979a3bc4f4c16da400e578a91629bb4910c3 100644
--- a/app/controllers/admin/universities_controller.rb
+++ b/app/controllers/admin/universities_controller.rb
@@ -19,37 +19,26 @@ class Admin::UniversitiesController < Admin::ApplicationController
   end
 
   def create
-    breadcrumb
-    respond_to do |format|
-      if @university.save
-        format.html { redirect_to [:admin, @university], notice: "University was successfully created." }
-        format.json { render :show, status: :created, location: [:admin, @university] }
-      else
-        format.html { render :new, status: :unprocessable_entity }
-        format.json { render json: @university.errors, status: :unprocessable_entity }
-      end
+    if @university.save
+      redirect_to [:admin, @university], notice: "University was successfully created."
+    else
+      breadcrumb
+      render :new, status: :unprocessable_entity
     end
   end
 
   def update
-    breadcrumb
-    respond_to do |format|
-      if @university.update(university_params)
-        format.html { redirect_to [:admin, @university], notice: "University was successfully updated." }
-        format.json { render :show, status: :ok, location: [:admin, @university] }
-      else
-        format.html { render :edit, status: :unprocessable_entity }
-        format.json { render json: @university.errors, status: :unprocessable_entity }
-      end
+    if @university.update(university_params)
+      redirect_to [:admin, @university], notice: "University was successfully updated."
+    else
+      breadcrumb
+      render :edit, status: :unprocessable_entity
     end
   end
 
   def destroy
     @university.destroy
-    respond_to do |format|
-      format.html { redirect_to admin_universities_url, notice: "University was successfully destroyed." }
-      format.json { head :no_content }
-    end
+    redirect_to admin_universities_url, notice: "University was successfully destroyed."
   end
 
   protected
diff --git a/app/controllers/admin/users_controller.rb b/app/controllers/admin/users_controller.rb
index df453222677a9d136ff395086ea0692a6ea826d5..949ebb8c8b1e70e76673abf237cae98aba6e0cde 100644
--- a/app/controllers/admin/users_controller.rb
+++ b/app/controllers/admin/users_controller.rb
@@ -2,6 +2,7 @@ class Admin::UsersController < Admin::ApplicationController
   load_and_authorize_resource
 
   def index
+    @users = current_university.users
     breadcrumb
   end
 
@@ -20,36 +21,25 @@ class Admin::UsersController < Admin::ApplicationController
 
   def create
     breadcrumb
-    respond_to do |format|
-      if @user.save
-        format.html { redirect_to [:admin, @user], notice: "User was successfully created." }
-        format.json { render :show, status: :created, location: [:admin, @user] }
-      else
-        format.html { render :new, status: :unprocessable_entity }
-        format.json { render json: @user.errors, status: :unprocessable_entity }
-      end
+    if @user.save
+      redirect_to [:admin, @user], notice: "User was successfully created."
+    else
+      render :new, status: :unprocessable_entity
     end
   end
 
   def update
     breadcrumb
-    respond_to do |format|
-      if @user.update(user_params)
-        format.html { redirect_to [:admin, @user], notice: "User was successfully updated." }
-        format.json { render :show, status: :ok, location: [:admin, @user] }
-      else
-        format.html { render :edit, status: :unprocessable_entity }
-        format.json { render json: @user.errors, status: :unprocessable_entity }
-      end
+    if @user.update(user_params)
+      redirect_to [:admin, @user], notice: "User was successfully updated."
+    else
+      render :edit, status: :unprocessable_entity
     end
   end
 
   def destroy
     @user.destroy
-    respond_to do |format|
-      format.html { redirect_to admin_users_url, notice: "User was successfully destroyed." }
-      format.json { head :no_content }
-    end
+    redirect_to admin_users_url, notice: "User was successfully destroyed."
   end
 
   protected
diff --git a/app/controllers/users/registrations_controller.rb b/app/controllers/users/registrations_controller.rb
new file mode 100644
index 0000000000000000000000000000000000000000..9cbed5e1cb92a58dd441b7341f504dcdbc53dd18
--- /dev/null
+++ b/app/controllers/users/registrations_controller.rb
@@ -0,0 +1,15 @@
+class Users::RegistrationsController < Devise::RegistrationsController
+  prepend_before_action :set_university, only: :create
+  before_action :configure_sign_up_params, only: :create
+
+  protected
+
+  def set_university
+    return if request.params[:user].nil?
+    request.params[:user][:university_id] = current_university.id
+  end
+
+  def configure_sign_up_params
+    devise_parameter_sanitizer.permit(:sign_up, keys: [:university_id])
+  end
+end
diff --git a/app/controllers/users/sessions_controller.rb b/app/controllers/users/sessions_controller.rb
new file mode 100644
index 0000000000000000000000000000000000000000..5871b77906150a601c2ca2e8a5c1f6fef7721436
--- /dev/null
+++ b/app/controllers/users/sessions_controller.rb
@@ -0,0 +1,15 @@
+class Users::SessionsController < Devise::SessionsController
+  prepend_before_action :set_university, only: :create
+  before_action :configure_sign_in_params, only: :create
+
+  protected
+
+  def set_university
+    return if request.params[:user].nil?
+    request.params[:user][:university_id] = current_university.id
+  end
+
+  def configure_sign_in_params
+    devise_parameter_sanitizer.permit(:sign_in, keys: [:university_id])
+  end
+end
diff --git a/app/models/university.rb b/app/models/university.rb
index 80d480cd99eabdc0f5aee6a4a9208a16ab798298..9354058d408771050add1e0ef1e5eb2f92faee42 100644
--- a/app/models/university.rb
+++ b/app/models/university.rb
@@ -12,13 +12,13 @@
 #  zipcode    :string
 #  created_at :datetime         not null
 #  updated_at :datetime         not null
-#  integer_id :bigint
 #
 class University < ApplicationRecord
   validates_presence_of :name
   scope :ordered, -> { order(:name) }
 
   include WithIdentifier
+  include WithUsers
   include WithFeatures
 
   def to_s
diff --git a/app/models/university/with_identifier.rb b/app/models/university/with_identifier.rb
index 678144f5a906e6e7d9714f247b4da264e68010ca..04d3a3a846cf37e7e9238e3eba7a425255f70316 100644
--- a/app/models/university/with_identifier.rb
+++ b/app/models/university/with_identifier.rb
@@ -4,10 +4,8 @@ module University::WithIdentifier
   included do
     # TODO restrict to lower case, numbers, -, _
     validates :identifier, presence: true, uniqueness: true
-  end
 
-  class_methods do
-    def with_host(host)
+    def self.with_host(host)
       find_by(identifier: extract_identifier_from(host)) || first
     end
 
@@ -17,7 +15,7 @@ module University::WithIdentifier
     # Production  osuny.osuny.org   -> osuny
     # Staging     osuny.osuny.dev   -> osuny
     # Dev         osuny.osuny       -> osuny
-    def extract_identifier_from(host)
+    def self.extract_identifier_from(host)
       host.remove('.osuny.org')
           .remove('.osuny.dev')
           .remove('.osuny')
diff --git a/app/models/university/with_users.rb b/app/models/university/with_users.rb
new file mode 100644
index 0000000000000000000000000000000000000000..7f81767ca4c7deefbe2e4041569467ab55328cb4
--- /dev/null
+++ b/app/models/university/with_users.rb
@@ -0,0 +1,7 @@
+module University::WithUsers
+  extend ActiveSupport::Concern
+
+  included do
+    has_many :users, dependent: :destroy
+  end
+end
diff --git a/app/models/user.rb b/app/models/user.rb
index d8935a9c5bd68f629b733a79dab1bb787e173b4a..b9ea0fbf22498ffdf451214f7b6fb247cbde3168 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -25,20 +25,24 @@
 #  unlock_token           :string
 #  created_at             :datetime         not null
 #  updated_at             :datetime         not null
-#  integer_id             :bigint
+#  university_id          :uuid             not null
 #
 # Indexes
 #
-#  index_users_on_confirmation_token    (confirmation_token) UNIQUE
-#  index_users_on_email                 (email) UNIQUE
-#  index_users_on_reset_password_token  (reset_password_token) UNIQUE
-#  index_users_on_unlock_token          (unlock_token) UNIQUE
+#  index_users_on_confirmation_token       (confirmation_token) UNIQUE
+#  index_users_on_email_and_university_id  (email,university_id) UNIQUE
+#  index_users_on_reset_password_token     (reset_password_token) UNIQUE
+#  index_users_on_university_id            (university_id)
+#  index_users_on_unlock_token             (unlock_token) UNIQUE
+#
+# Foreign Keys
+#
+#  fk_rails_...  (university_id => universities.id)
 #
 class User < ApplicationRecord
-  # Include default devise modules. Others available are:
-  # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
-  devise :database_authenticatable, :registerable,
-         :recoverable, :rememberable, :validatable
+  include WithDevise
+
+  belongs_to :university
 
   def to_s
     first_name || last_name ? "#{first_name} #{last_name}"
diff --git a/app/models/user/with_devise.rb b/app/models/user/with_devise.rb
new file mode 100644
index 0000000000000000000000000000000000000000..fcdda620e801eb5d4667dbb5ac7fd8a45ba78ff5
--- /dev/null
+++ b/app/models/user/with_devise.rb
@@ -0,0 +1,11 @@
+module User::WithDevise
+  extend ActiveSupport::Concern
+
+  included do
+    devise  :database_authenticatable, :registerable, :recoverable, :rememberable
+
+    def self.find_for_authentication(warden_conditions)
+      where(email: warden_conditions[:email].downcase, university_id: warden_conditions[:university_id]).first
+    end
+  end
+end
diff --git a/app/views/devise/shared/_links.html.erb b/app/views/devise/shared/_links.html.erb
index 96a9412417bf51257684ada2d9410c4e98e857ff..57c971143ee2cbff7a53a9c03c8f27de5c25a1db 100644
--- a/app/views/devise/shared/_links.html.erb
+++ b/app/views/devise/shared/_links.html.erb
@@ -11,11 +11,11 @@
 <% end %>
 
 <%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
-  <%= link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name) %><br />
+  <%= link_to "Didn't receive confirmation instructions?", new_user_confirmation_path(resource_name) %><br />
 <% end %>
 
 <%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
-  <%= link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name) %><br />
+  <%= link_to "Didn't receive unlock instructions?", new_user_unlock_path(resource_name) %><br />
 <% end %>
 
 <%- if devise_mapping.omniauthable? %>
diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb
index 6cba4e7ce6e7ac415851d428fee65e7e16cb62e6..8d9308c9979f8fb0734bd48c849338571fd376b2 100644
--- a/config/initializers/devise.rb
+++ b/config/initializers/devise.rb
@@ -46,7 +46,7 @@ Devise.setup do |config|
   # session. If you need permissions, you should implement that in a before filter.
   # You can also supply a hash where the value is a boolean determining whether
   # or not authentication should be aborted when the value is not present.
-  # config.authentication_keys = [:email]
+  config.authentication_keys = [:email, :university_id]
 
   # Configure parameters from the request object used for authentication. Each entry
   # given should be a request method and it will automatically be passed to the
diff --git a/config/routes.rb b/config/routes.rb
index 5be3f77b06556572b1190e3cfe0910a772bed60d..5a01e809153319b4e0cb0fd64de15a21a16ee53d 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -1,5 +1,8 @@
 Rails.application.routes.draw do
-  devise_for :users
+  devise_for :users, controllers: {
+    registrations: 'users/registrations',
+    sessions: 'users/sessions'
+  }
 
   draw 'adminserver'
   draw 'admin'
diff --git a/db/migrate/20210708041914_fix_uuids.rb b/db/migrate/20210708041914_fix_uuids.rb
deleted file mode 100644
index 05f4191d01e9f0aba776870c8e4e1bc3ea83113d..0000000000000000000000000000000000000000
--- a/db/migrate/20210708041914_fix_uuids.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-class FixUuids < ActiveRecord::Migration[6.1]
-  def up
-    add_column :users, :uuid, :uuid, default: "gen_random_uuid()", null: false
-    rename_column :users, :id, :integer_id
-    rename_column :users, :uuid, :id
-    execute "ALTER TABLE users drop constraint users_pkey;"
-    execute "ALTER TABLE users ADD PRIMARY KEY (id);"
-    execute "ALTER TABLE ONLY users ALTER COLUMN integer_id DROP DEFAULT;"
-    change_column_null :users, :integer_id, true
-    execute "DROP SEQUENCE IF EXISTS users_id_seq"
-
-    add_column :universities, :uuid, :uuid, default: "gen_random_uuid()", null: false
-    rename_column :universities, :id, :integer_id
-    rename_column :universities, :uuid, :id
-    execute "ALTER TABLE universities drop constraint universities_pkey;"
-    execute "ALTER TABLE universities ADD PRIMARY KEY (id);"
-    execute "ALTER TABLE ONLY universities ALTER COLUMN integer_id DROP DEFAULT;"
-    change_column_null :universities, :integer_id, true
-    execute "DROP SEQUENCE IF EXISTS universities_id_seq"
-  end
-
-  def down
-    raise ActiveRecord::IrreversibleMigration
-  end
-end
diff --git a/db/migrate/20210708052012_add_fields_to_programs.rb b/db/migrate/20210708052012_add_fields_to_programs.rb
deleted file mode 100644
index 024a496e251e741ffe524c022a199c8461dfa310..0000000000000000000000000000000000000000
--- a/db/migrate/20210708052012_add_fields_to_programs.rb
+++ /dev/null
@@ -1,6 +0,0 @@
-class AddFieldsToPrograms < ActiveRecord::Migration[6.1]
-  def change
-    add_column :programs, :pricing, :text
-    add_column :programs, :contacts, :text
-  end
-end
diff --git a/db/migrate/20210708041644_enable_uuid.rb b/db/migrate/20210801041644_enable_uuid.rb
similarity index 100%
rename from db/migrate/20210708041644_enable_uuid.rb
rename to db/migrate/20210801041644_enable_uuid.rb
diff --git a/db/migrate/20210701043544_create_universities.rb b/db/migrate/20210801043544_create_universities.rb
similarity index 76%
rename from db/migrate/20210701043544_create_universities.rb
rename to db/migrate/20210801043544_create_universities.rb
index fbc9770b5f3d733fb978f4cca89706e7747159cc..0a30e73fa4e54abbf399730ceb734c36b4af7166 100644
--- a/db/migrate/20210701043544_create_universities.rb
+++ b/db/migrate/20210801043544_create_universities.rb
@@ -1,7 +1,8 @@
 class CreateUniversities < ActiveRecord::Migration[6.1]
   def change
-    create_table :universities do |t|
+    create_table :universities, id: :uuid do |t|
       t.string :name
+      t.string :identifier
       t.string :address
       t.string :zipcode
       t.string :city
diff --git a/db/migrate/20210701043712_devise_create_users.rb b/db/migrate/20210801043712_devise_create_users.rb
similarity index 76%
rename from db/migrate/20210701043712_devise_create_users.rb
rename to db/migrate/20210801043712_devise_create_users.rb
index dc90a460afc6b734b69429024dbc31516cd8774b..2cbe92285c101068eb30635158d9a636e2915f83 100644
--- a/db/migrate/20210701043712_devise_create_users.rb
+++ b/db/migrate/20210801043712_devise_create_users.rb
@@ -2,7 +2,9 @@
 
 class DeviseCreateUsers < ActiveRecord::Migration[6.1]
   def change
-    create_table :users do |t|
+    create_table :users, id: :uuid do |t|
+      t.references :university, null: false, foreign_key: true, type: :uuid
+
       t.string :first_name
       t.string :last_name
       t.integer :role
@@ -39,9 +41,9 @@ class DeviseCreateUsers < ActiveRecord::Migration[6.1]
       t.timestamps null: false
     end
 
-    add_index :users, :email,                unique: true
-    add_index :users, :reset_password_token, unique: true
-    add_index :users, :confirmation_token,   unique: true
-    add_index :users, :unlock_token,         unique: true
+    add_index :users, [:email, :university_id], unique: true
+    add_index :users, :reset_password_token,    unique: true
+    add_index :users, :confirmation_token,      unique: true
+    add_index :users, :unlock_token,            unique: true
   end
 end
diff --git a/db/migrate/20210708043034_create_programs.rb b/db/migrate/20210808043034_create_programs.rb
similarity index 81%
rename from db/migrate/20210708043034_create_programs.rb
rename to db/migrate/20210808043034_create_programs.rb
index 801b6d9617403629ae5710ca16d2aa1c8c5ccf22..df9c7eb456babb3c8fc07615c21fd8d6fe4f690b 100644
--- a/db/migrate/20210708043034_create_programs.rb
+++ b/db/migrate/20210808043034_create_programs.rb
@@ -1,6 +1,6 @@
 class CreatePrograms < ActiveRecord::Migration[6.1]
   def change
-    create_table :programs, id: :uuid do |t|
+    create_table :features_education_programs, id: :uuid do |t|
       t.references :university, null: false, foreign_key: true, type: :uuid
       t.string :name
       t.integer :level
@@ -14,6 +14,8 @@ class CreatePrograms < ActiveRecord::Migration[6.1]
       t.text :pedagogy
       t.text :evaluation
       t.text :accessibility
+      t.text :pricing
+      t.text :contacts
 
       t.timestamps
     end
diff --git a/db/migrate/20210708122438_create_qualiopi_criterions.rb b/db/migrate/20210808122438_create_qualiopi_criterions.rb
similarity index 70%
rename from db/migrate/20210708122438_create_qualiopi_criterions.rb
rename to db/migrate/20210808122438_create_qualiopi_criterions.rb
index fa80b36e2e324674dd6aeb77a6005c851cbca2c0..9608675818a0bbb6af9dbcc6434b855caad194b9 100644
--- a/db/migrate/20210708122438_create_qualiopi_criterions.rb
+++ b/db/migrate/20210808122438_create_qualiopi_criterions.rb
@@ -1,6 +1,6 @@
 class CreateQualiopiCriterions < ActiveRecord::Migration[6.1]
   def change
-    create_table :qualiopi_criterions, id: :uuid do |t|
+    create_table :features_education_qualiopi_criterions, id: :uuid do |t|
       t.integer :number
       t.text :name
       t.text :description
diff --git a/db/migrate/20210708122519_create_qualiopi_indicators.rb b/db/migrate/20210808122519_create_qualiopi_indicators.rb
similarity index 70%
rename from db/migrate/20210708122519_create_qualiopi_indicators.rb
rename to db/migrate/20210808122519_create_qualiopi_indicators.rb
index 24481f58a39de60a94c6f5e8cd62d672f75ce00f..d296f3c78de21606b4b752f8fed228e5f9338f04 100644
--- a/db/migrate/20210708122519_create_qualiopi_indicators.rb
+++ b/db/migrate/20210808122519_create_qualiopi_indicators.rb
@@ -1,7 +1,7 @@
 class CreateQualiopiIndicators < ActiveRecord::Migration[6.1]
   def change
-    create_table :qualiopi_indicators, id: :uuid do |t|
-      t.references :criterion, null: false, foreign_key: {to_table: :qualiopi_criterions}, type: :uuid
+    create_table :features_education_qualiopi_indicators, id: :uuid do |t|
+      t.references :criterion, null: false, foreign_key: {to_table: :features_education_qualiopi_criterions}, type: :uuid
       t.integer :number
       t.text :name
       t.text :level_expected
diff --git a/db/migrate/20210809084645_add_identifier_to_university.rb b/db/migrate/20210809084645_add_identifier_to_university.rb
deleted file mode 100644
index 149203d29713bf7e84061c899d3a0911da33d895..0000000000000000000000000000000000000000
--- a/db/migrate/20210809084645_add_identifier_to_university.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-class AddIdentifierToUniversity < ActiveRecord::Migration[6.1]
-  def change
-    add_column :universities, :identifier, :string
-  end
-end
diff --git a/db/migrate/20210811082802_namespace_features.rb b/db/migrate/20210811082802_namespace_features.rb
deleted file mode 100644
index 81ff89fb80f6d5e23d2337bcf4a137a8d25f8135..0000000000000000000000000000000000000000
--- a/db/migrate/20210811082802_namespace_features.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-class NamespaceFeatures < ActiveRecord::Migration[6.1]
-  def change
-    rename_table :programs, :features_education_programs
-    rename_table :qualiopi_indicators, :features_education_qualiopi_indicators
-    rename_table :qualiopi_criterions, :features_education_qualiopi_criterions
-  end
-end
diff --git a/db/schema.rb b/db/schema.rb
index 631bea021b6a03871339e6fc0c6f764ba6fd0030..99bb8102e04def062a9912d88d1c32c7e5423499 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -30,10 +30,10 @@ ActiveRecord::Schema.define(version: 2021_08_11_102819) do
     t.text "pedagogy"
     t.text "evaluation"
     t.text "accessibility"
-    t.datetime "created_at", precision: 6, null: false
-    t.datetime "updated_at", precision: 6, null: false
     t.text "pricing"
     t.text "contacts"
+    t.datetime "created_at", precision: 6, null: false
+    t.datetime "updated_at", precision: 6, null: false
     t.index ["university_id"], name: "index_features_education_programs_on_university_id"
   end
 
@@ -68,8 +68,8 @@ ActiveRecord::Schema.define(version: 2021_08_11_102819) do
   end
 
   create_table "universities", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
-    t.bigint "integer_id"
     t.string "name"
+    t.string "identifier"
     t.string "address"
     t.string "zipcode"
     t.string "city"
@@ -77,11 +77,10 @@ ActiveRecord::Schema.define(version: 2021_08_11_102819) do
     t.boolean "private"
     t.datetime "created_at", precision: 6, null: false
     t.datetime "updated_at", precision: 6, null: false
-    t.string "identifier"
   end
 
   create_table "users", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
-    t.bigint "integer_id"
+    t.uuid "university_id", null: false
     t.string "first_name"
     t.string "last_name"
     t.integer "role"
@@ -105,12 +104,14 @@ ActiveRecord::Schema.define(version: 2021_08_11_102819) do
     t.datetime "created_at", precision: 6, null: false
     t.datetime "updated_at", precision: 6, null: false
     t.index ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true
-    t.index ["email"], name: "index_users_on_email", unique: true
+    t.index ["email", "university_id"], name: "index_users_on_email_and_university_id", unique: true
     t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
+    t.index ["university_id"], name: "index_users_on_university_id"
     t.index ["unlock_token"], name: "index_users_on_unlock_token", unique: true
   end
 
   add_foreign_key "features_education_programs", "universities"
   add_foreign_key "features_education_qualiopi_indicators", "features_education_qualiopi_criterions", column: "criterion_id"
   add_foreign_key "features_websites_sites", "universities"
+  add_foreign_key "users", "universities"
 end
diff --git a/db/seeds.rb b/db/seeds.rb
index f3a0480d189d6930abb202b3504041eb6d623b03..2c7336dfae3b18ff8775035251e1786664993ad4 100644
--- a/db/seeds.rb
+++ b/db/seeds.rb
@@ -1,7 +1 @@
-# This file should contain all the record creation needed to seed the database with its default values.
-# The data can then be loaded with the bin/rails db:seed command (or created alongside the database with db:setup).
-#
-# Examples:
-#
-#   movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }])
-#   Character.create(name: 'Luke', movie: movies.first)
+University.create name: 'Osuny', identifier: 'osuny'
diff --git a/test/fixtures/universities.yml b/test/fixtures/universities.yml
index 60abd2d59105a5d07d8b720cf570512bc146dc06..44db33a42f8e554b8158d562fbd336701118d1f0 100644
--- a/test/fixtures/universities.yml
+++ b/test/fixtures/universities.yml
@@ -12,7 +12,6 @@
 #  zipcode    :string
 #  created_at :datetime         not null
 #  updated_at :datetime         not null
-#  integer_id :bigint
 #
 
 one:
diff --git a/test/fixtures/users.yml b/test/fixtures/users.yml
index fe5dff24c189369e554cb1064f85bddecf55db82..e99a055886fe78267ef02f78e151d6d4909edf78 100644
--- a/test/fixtures/users.yml
+++ b/test/fixtures/users.yml
@@ -25,14 +25,19 @@
 #  unlock_token           :string
 #  created_at             :datetime         not null
 #  updated_at             :datetime         not null
-#  integer_id             :bigint
+#  university_id          :uuid             not null
 #
 # Indexes
 #
-#  index_users_on_confirmation_token    (confirmation_token) UNIQUE
-#  index_users_on_email                 (email) UNIQUE
-#  index_users_on_reset_password_token  (reset_password_token) UNIQUE
-#  index_users_on_unlock_token          (unlock_token) UNIQUE
+#  index_users_on_confirmation_token       (confirmation_token) UNIQUE
+#  index_users_on_email_and_university_id  (email,university_id) UNIQUE
+#  index_users_on_reset_password_token     (reset_password_token) UNIQUE
+#  index_users_on_university_id            (university_id)
+#  index_users_on_unlock_token             (unlock_token) UNIQUE
+#
+# Foreign Keys
+#
+#  fk_rails_...  (university_id => universities.id)
 #
 
 # This model initially had no columns defined. If you add columns to the
diff --git a/test/models/university_test.rb b/test/models/university_test.rb
index 1960b952e31332a69aeb5e671fcc50fcfdf8b94d..dac831a2e064651336b5f2d88677b78d920615bb 100644
--- a/test/models/university_test.rb
+++ b/test/models/university_test.rb
@@ -12,7 +12,6 @@
 #  zipcode    :string
 #  created_at :datetime         not null
 #  updated_at :datetime         not null
-#  integer_id :bigint
 #
 require "test_helper"
 
diff --git a/test/models/user_test.rb b/test/models/user_test.rb
index 8ea003217f2671a30495f0cf80e2de30851c3dac..a54213fd1a8085abd7fc07d343150fe2e82e388d 100644
--- a/test/models/user_test.rb
+++ b/test/models/user_test.rb
@@ -25,14 +25,19 @@
 #  unlock_token           :string
 #  created_at             :datetime         not null
 #  updated_at             :datetime         not null
-#  integer_id             :bigint
+#  university_id          :uuid             not null
 #
 # Indexes
 #
-#  index_users_on_confirmation_token    (confirmation_token) UNIQUE
-#  index_users_on_email                 (email) UNIQUE
-#  index_users_on_reset_password_token  (reset_password_token) UNIQUE
-#  index_users_on_unlock_token          (unlock_token) UNIQUE
+#  index_users_on_confirmation_token       (confirmation_token) UNIQUE
+#  index_users_on_email_and_university_id  (email,university_id) UNIQUE
+#  index_users_on_reset_password_token     (reset_password_token) UNIQUE
+#  index_users_on_university_id            (university_id)
+#  index_users_on_unlock_token             (unlock_token) UNIQUE
+#
+# Foreign Keys
+#
+#  fk_rails_...  (university_id => universities.id)
 #
 require "test_helper"