How to join tables in Ruby on Rails? - mysql

I have a tables residence_staff and halls. In the residence_staff table there is a field position and, if it is manager, I want to display a list of all the managers and the hallName, where they work in. I can print the names of managers just fine, but the application can not recognize hallName. The tables are joined using the staffNumber as a foreign key in the halls table, to staffNumber in the residence_staff table. What am I doing wrong?
residence_staff Model:
class ResidenceStaff < ApplicationRecord
belongs_to :hall, primary_key: 'hallId'
class << self
def managers
where(position: 'manager')
end
end
end
halls Model:
class Hall < ApplicationRecord
has_many :residence_staffs
end
Controller:
class HomeController < ApplicationController
def index
#residence_staff = ResidenceStaff.all
#residence_staff_managers = ResidenceStaff.managers.includes(:hall)
end
end
View:
<h1>Title</h1>
<div>
<% #residence_staff_managers.each do |residence_staff| %>
<%= residence_staff.fName%>
<%= residence_staff.hallName%>
<% end %>
</div>
Schema.rb:
ActiveRecord::Schema.define(version: 20180426051412) do
create_table "advisor", primary_key: "advisorNumber", id: :integer, default: nil, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.text "fName", null: false
t.text "lName", null: false
t.text "position", null: false
t.text "deptName", null: false
t.integer "phoneNumber", null: false
t.string "email", limit: 100, null: false
t.integer "roomNumber", null: false
t.index ["advisorNumber"], name: "Advisor_advisorNumber_uindex", unique: true
t.index ["email"], name: "Advisor_email_uindex", unique: true
end
create_table "hall_of_residences", primary_key: "hallName", id: :string, limit: 50, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "street", limit: 50, null: false
t.text "city", null: false
t.integer "postcode", null: false
t.integer "phoneNumber", null: false
t.text "hall", null: false
t.integer "staffNumber", null: false
t.index ["hallName"], name: "HallOfResidence_hallName_uindex", unique: true
t.index ["staffNumber"], name: "HallOfResidence_ResidenceStaff_staffNumber_fk"
end
create_table "halls", primary_key: "hallId", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.text "hallName", null: false
t.text "street", null: false
t.text "city", null: false
t.integer "postcode", null: false
t.integer "phoneNumber", null: false
t.integer "sfaffNumber", null: false
t.index ["sfaffNumber"], name: "halls_residence_staffs_staffNumber_fk"
end
create_table "invoice", primary_key: "invoiceNumber", id: :integer, default: nil, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "semester", limit: 50
t.date "paymentDue"
t.text "studentFName", null: false
t.text "studentLName", null: false
t.string "roomLocation", limit: 50, null: false
t.text "city", null: false
t.string "street", limit: 50, null: false
t.integer "postcode", null: false
t.integer "leaseNumber", null: false
t.index ["invoiceNumber"], name: "Invoice_invoiceNumber_uindex", unique: true
t.index ["leaseNumber"], name: "Invoice_Lease_leaseNumber_fk"
end
create_table "invoice_payment", primary_key: "paymentID", id: :integer, default: nil, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.date "datePayed", null: false
t.string "method", limit: 50, null: false
t.date "dateOfFirstReminder"
t.date "dateOfSecondReminder"
t.integer "muNum", null: false
t.index ["muNum"], name: "InvoicePayment_Student_mUNumber_fk"
t.index ["paymentID"], name: "InvoicePayment_paymentID_uindex", unique: true
end
create_table "lease", id: false, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.integer "leaseNumber", null: false
t.string "duration", limit: 50, null: false
t.text "studentFName", null: false
t.text "studentLName", null: false
t.integer "placeNumber", null: false
t.integer "roomNumber", null: false
t.text "city", null: false
t.string "street", limit: 50, null: false
t.integer "postcode", null: false
t.date "dateToLeave", null: false
t.date "dateToEnter", null: false
t.integer "mUNum", null: false
t.index ["leaseNumber"], name: "Lease_leaseNumber_uindex", unique: true
t.index ["mUNum"], name: "Lease_Student_mUNumber_fk"
t.index ["placeNumber"], name: "Lease_placeNumber_uindex", unique: true
end
create_table "next_of_kin", primary_key: "nextID", id: :integer, default: nil, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.text "fName", null: false
t.text "lName", null: false
t.text "relationship", null: false
t.text "city", null: false
t.string "street", limit: 100, null: false
t.integer "postcode", null: false
t.integer "phoneNumber", null: false
t.integer "mUNum", null: false
t.index ["mUNum"], name: "NextOfKin_Student_mUNumber_fk"
t.index ["nextID"], name: "NextOfKin_nextID_uindex", unique: true
end
create_table "parking_lot", primary_key: "lotNumber", id: :integer, default: nil, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.text "lotName", null: false
t.string "street", limit: 100, null: false
t.text "city", null: false
t.integer "postcode", null: false
t.integer "maxSpace", null: false
t.integer "availability", null: false
t.index ["lotNumber"], name: "ParkingLot_lotNumber_uindex", unique: true
end
create_table "residence_staffs", primary_key: "staffNumber", id: :integer, default: nil, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.text "fName", null: false
t.text "lName", null: false
t.string "email", limit: 100, null: false
t.text "homeCity", null: false
t.string "street", limit: 50, null: false
t.integer "postal", null: false
t.date "dob", null: false
t.text "gender"
t.text "position", null: false
t.string "location", limit: 50, null: false
t.integer "phoneNumber", null: false
t.integer "inspectedRoomID", null: false
t.string "hall", limit: 50, null: false
t.index ["inspectedRoomID"], name: "ResidenceStaff_StudentApartmentInspection_inspectedRoomID_fk"
t.index ["staffNumber"], name: "ResidenceStaff_staffNumber_uindex", unique: true
end
create_table "room", primary_key: "placeNumber", id: :integer, default: nil, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "rentRate", limit: 50, null: false
t.text "availability", null: false
t.integer "roomNumber"
t.string "hallName", limit: 50
t.integer "apartmentNumber"
t.index ["apartmentNumber"], name: "room_StudentFlats_apartmentNumber_fk"
t.index ["hallName"], name: "room_HallOfResidence_hallName_fk"
end
create_table "staff", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.text "fName"
end
create_table "student", primary_key: "mUNumber", id: :integer, default: nil, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.text "fName", null: false
t.text "lName", null: false
t.string "street", limit: 100, null: false
t.text "city", null: false
t.integer "postcode", null: false
t.integer "phoneNumber", null: false
t.string "email", limit: 100, null: false
t.date "dob", null: false
t.text "gender"
t.text "standing", null: false
t.text "nationality", null: false
t.string "specialNeeds", limit: 100
t.text "major", null: false
t.string "statusOfStudent", limit: 100
t.text "minor"
t.text "comments"
t.integer "advisorNumber", null: false
t.index ["advisorNumber"], name: "Student_Advisor_advisorNumber_fk"
t.index ["email"], name: "Student_email_uindex", unique: true
t.index ["mUNumber"], name: "Student_mUNumber_uindex", unique: true
end
create_table "student_apartment_inspection", primary_key: "inspectedRoomID", id: :integer, default: nil, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.text "inspectorName", null: false
t.date "dateOfInspection", null: false
t.text "apartmentCondition", null: false
t.text "comments"
t.index ["inspectedRoomID"], name: "StudentApartmentInspection_inspectedRoomID_uindex", unique: true
end
create_table "student_flats", primary_key: "apartmentNumber", id: :integer, default: nil, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.integer "numberOfRooms", null: false
t.text "city", null: false
t.string "street", limit: 50, null: false
t.integer "postcode", null: false
t.integer "leaseID", null: false
t.index ["apartmentNumber"], name: "StudentFlats_apartmentNumber_uindex", unique: true
t.index ["leaseID"], name: "StudentFlats_Lease_leaseNumber_fk"
end
create_table "vehicle", primary_key: "vNumber", id: :integer, default: nil, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "plateNumber", limit: 10, null: false
t.text "color", null: false
t.text "manufacturer", null: false
t.string "brand", limit: 50, null: false
t.integer "mUNum", null: false
t.integer "lotNumber", null: false
t.index ["lotNumber"], name: "Vehicle_ParkingLot_lotNumber_fk"
t.index ["mUNum"], name: "Vehicle_Student_mUNumber_fk"
t.index ["plateNumber"], name: "Vehicle_plateNumber_uindex", unique: true
t.index ["vNumber"], name: "Vehicle_vNumber_uindex", unique: true
end
add_foreign_key "hall_of_residences", "residence_staffs", column: "staffNumber", primary_key: "staffNumber", name: "HallOfResidence_ResidenceStaff_staffNumber_fk"
add_foreign_key "halls", "residence_staffs", column: "sfaffNumber", primary_key: "staffNumber", name: "halls_residence_staffs_staffNumber_fk"
add_foreign_key "invoice", "lease", column: "leaseNumber", primary_key: "leaseNumber", name: "Invoice_Lease_leaseNumber_fk"
add_foreign_key "invoice_payment", "student", column: "muNum", primary_key: "mUNumber", name: "InvoicePayment_Student_mUNumber_fk"
add_foreign_key "lease", "student", column: "mUNum", primary_key: "mUNumber", name: "Lease_Student_mUNumber_fk"
add_foreign_key "next_of_kin", "student", column: "mUNum", primary_key: "mUNumber", name: "NextOfKin_Student_mUNumber_fk"
add_foreign_key "residence_staffs", "student_apartment_inspection", column: "inspectedRoomID", primary_key: "inspectedRoomID", name: "ResidenceStaff_StudentApartmentInspection_inspectedRoomID_fk"
add_foreign_key "room", "hall_of_residences", column: "hallName", primary_key: "hallName", name: "room_HallOfResidence_hallName_fk"
add_foreign_key "room", "student_flats", column: "apartmentNumber", primary_key: "apartmentNumber", name: "room_StudentFlats_apartmentNumber_fk"
add_foreign_key "student", "advisor", column: "advisorNumber", primary_key: "advisorNumber", name: "Student_Advisor_advisorNumber_fk"
add_foreign_key "student_flats", "lease", column: "leaseID", primary_key: "leaseNumber", name: "StudentFlats_Lease_leaseNumber_fk"
add_foreign_key "vehicle", "parking_lot", column: "lotNumber", primary_key: "lotNumber", name: "Vehicle_ParkingLot_lotNumber_fk"
add_foreign_key "vehicle", "student", column: "mUNum", primary_key: "mUNumber", name: "Vehicle_Student_mUNumber_fk"
end

Instead of <%= residence_staff.hallName %> use <%= residence_staff.hall.hallName %> because hallName is an attribute of hall.
As an aside, ruby naming conventions favor snake case. hallName would be hall_name instead.

Related

In Ruby On Rails indexing required?

Table->
create_table "subscription_plans", options: "ENGINE=InnoDB DEFAULT CHARSET=latin1", force: :cascade do |t|
t.string "name"
t.integer "business_id"
t.datetime "published_at"
t.datetime "signup_end_date"
t.datetime "start_time"
t.datetime "end_time"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.datetime "deactivated_at"
t.index ["business_id", "end_time", "deactivated_at"], name: "index_plan_on_bid_published_deactivated"
t.index ["business_id", "published_at"], name: "index_subscription_plans_on_business_id_and_published_at"
t.index ["business_id", "signup_end_date", "end_time"], name: "index_plans_on_signup_end_date_and_end_time'"
end
When ever I hit query
SELECT `subscription_plans`.* FROM `subscription_plans` WHERE `subscription_plans`.`business_id` = 27 AND `subscription_plans`.`deactivated_at` IS NULL AND `subscription_plans`.`published_at` IS NOT NULL AND ((end_time > '2021-06-30 08:16:21.824452' OR end_time IS NULL))
It always uses index index_subscription_plans_on_business_id_and_published_at. Is there any combination where I can use index_plan_on_bid_published_deactivated?
Or there is not any combination of index with deactivated_at?

Error when trying to assign a value to a foreign key

I'm working on a Ruby on Rails project and I get the following error when assigning a value to a foreign key:
ActiveRecord::InvalidForeignKey in InformationController#import
Mysql2::Error: Cannot add or update a child row: a foreign key
constraint fails (`sobrecupos_development`.`information`, CONSTRAINT
`fk_rails_21c7b6e26c` FOREIGN KEY (`program_id`) REFERENCES `programs`
(`id`)): UPDATE `information` SET `system_plan` = '2879.0',
`program_id` = 2879, `updated_at` = '2018-04-03 15:32:07' WHERE
`information`.`id` = 11
This key is supposed to be assigned from an external file but when I try to do so I get the error mentioned above. I tried to assign a key explicitly to check if it has to do with a possible nonexisiting value, but I still get this error.
Here is my schema.rb file
ActiveRecord::Schema.define(version: 20180402215605) do
create_table "coordinators", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "name"
t.string "lastname"
t.integer "department_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "email", default: "", null: false
t.datetime "remember_created_at"
t.integer "sign_in_count", default: 0, null: false
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip"
t.string "last_sign_in_ip"
t.string "username"
t.index ["department_id"], name: "index_coordinators_on_department_id", using: :btree
t.index ["email"], name: "index_coordinators_on_email", unique: true, using: :btree
t.index ["username"], name: "index_coordinators_on_username", unique: true, using: :btree
end
create_table "departments", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "name"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "code"
t.string "abbreviation"
t.index ["code"], name: "index_departments_on_code", unique: true, using: :btree
end
create_table "groups", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.integer "subject_id"
t.integer "professor_id"
t.integer "available_spots"
t.integer "total_spots"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["professor_id"], name: "index_groups_on_professor_id", using: :btree
t.index ["subject_id"], name: "index_groups_on_subject_id", using: :btree
end
create_table "information", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "level"
t.integer "program_id"
t.string "request_type"
t.string "act_resolution"
t.date "resolution_date"
t.string "dependency"
t.decimal "PAPA", precision: 10, scale: 1
t.integer "registered_credits"
t.integer "outstanding_credits"
t.decimal "completion_percentage", precision: 10
t.integer "tuition_amount"
t.string "academic_history_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "student_id"
t.boolean "was_saved"
t.string "system_plan"
t.string "academic_period"
t.string "document"
t.index ["program_id"], name: "index_information_on_program_id", using: :btree
t.index ["student_id"], name: "index_information_on_student_id", using: :btree
end
create_table "professors", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "name"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
create_table "programs", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "name"
t.integer "department_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "code"
t.string "program_type"
t.index ["code"], name: "index_programs_on_code", unique: true, using: :btree
t.index ["department_id"], name: "index_programs_on_department_id", using: :btree
end
create_table "students", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "name"
t.string "lastname"
t.string "username"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "email", default: "", null: false
t.datetime "remember_created_at"
t.integer "sign_in_count", default: 0, null: false
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip"
t.string "last_sign_in_ip"
t.string "document"
t.index ["email"], name: "index_students_on_email", unique: true, using: :btree
t.index ["username"], name: "index_students_on_username", unique: true, using: :btree
end
create_table "subject_requests", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.integer "group_id"
t.integer "information_id"
t.boolean "was_canceled"
t.string "approbation_state"
t.string "inscription_state"
t.string "replace_to"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.boolean "accept_other_group"
t.string "subject_code"
t.string "group_code"
t.string "typology"
t.string "subject_plan"
t.index ["group_id"], name: "index_subject_requests_on_group_id", using: :btree
t.index ["information_id"], name: "index_subject_requests_on_information_id", using: :btree
end
create_table "subjects", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "name"
t.integer "department_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "code"
t.integer "credits"
t.index ["code"], name: "index_subjects_on_code", unique: true, using: :btree
t.index ["department_id"], name: "index_subjects_on_department_id", using: :btree
end
add_foreign_key "coordinators", "departments"
add_foreign_key "groups", "professors"
add_foreign_key "groups", "subjects"
add_foreign_key "information", "programs"
add_foreign_key "information", "students"
add_foreign_key "programs", "departments"
add_foreign_key "subject_requests", "groups"
add_foreign_key "subject_requests", "information", on_delete: :cascade
add_foreign_key "subjects", "departments"
end
And here the line of code where I'm trying to assign a value to the foreign key
information.program_id = information.system_plan
Maybe there is 2 different approach you should try:
First, try cast to integer before assign:
information.program_id = information.system_plan.to_i
Second, try assign object
information.program = Program.find(information.system_plan.to_i)
Besides these 2, I could not see other wrong doings in your code.

Rails Associations Not working, user_id not showing in console

In console I get this error:
peegin.user
NameError: undefined local variable or method `peegin' for main:Object
Did you mean? #peegin
Also when i try to access Peegin in console it doesn't display user_id:
Peegin
=> Peegin(id: integer, title: string, meaning: string, example: string, created_at: datetime, updated_at: datetime, permalink: string)
2.3.0 :039 >
User Class
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_many :peegins
end
Peegin Class
class Peegin < ActiveRecord::Base
belongs_to :user
before_create :generate_permalink
def to_param
permalink
end
private
def generate_permalink
pattern=self.title.parameterize
duplicates = Peegin.where(permalink: pattern)
if duplicates.present?
self.permalink = "#{pattern}-#{duplicates.count+1}"
else
self.permalink = self.title.parameterize
end
end
end
Schema
ActiveRecord::Schema.define(version: 20160804115242) do
create_table "peegins", force: :cascade do |t|
t.string "title"
t.string "meaning"
t.string "example"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "permalink"
t.integer "user_id"
end
add_index "peegins", ["user_id"], name: "index_peegins_on_user_id", unique: true
create_table "users", force: :cascade do |t|
t.string "email", default: "", null: false
t.string "encrypted_password", default: "", null: false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.integer "sign_in_count", default: 0, null: false
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip"
t.string "last_sign_in_ip"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "name"
end
add_index "users", ["email"], name: "index_users_on_email", unique: true
add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
end
Make sure your database is up to date.
$ bin/rake db:migrate
Then.. you have to create a Peegin object and then you can access the user:
peegin = Peegin.create(title: "something")
peegin.user # => nil
peegin.user = User.first # Or take any user you want.
peegin.save # => user_id is updated in the database
In your rails console please try this:
#peegin = Peegin.find(1) //IF one doesn't work make sure if database has a record with this id and try with id that exists.
then use
#peegin.user
Instead of
peegin.user

add index ruby in rails 4.1.4 migration

I'm creating a project in RoR and get a error when run "rake db:migrate":
Mysql2::Error: Key column 'item_id' doesn't exist in table
And I don't understand what I'm doing wrong:
This is my items migration
class CreateMerchants < ActiveRecord::Migration
def change
create_table :merchants do |t|
t.string :name, null: false, limit: 100
t.string :address, null: false, limit: 200
t.timestamps
end
end
end
And my purchases migration:
class CreatePurchases < ActiveRecord::Migration
def change
create_table :purchases do |t|
t.references :purchasers, null: false
t.references :items, null: false
t.references :merchants, null: false
t.decimal :purchase_count, null: false, precision: 17, scale: 2
t.timestamps
end
add_index :purchases, :item_id
add_index :purchases, :merchant_id
add_index :purchases, :purchaser_id
end
end
Somebody can show me where I'm wrong?
The issue is that references expects a singular name, also you can create the index in the same line that create the reference so you migration should looks like:
class CreatePurchases < ActiveRecord::Migration
def change
create_table :purchases do |t|
t.references :purchaser, null: false, index: true
t.references :item, null: false, index: true
t.references :merchant, null: false, index: true
t.decimal :purchase_count, null: false, precision: 17, scale: 2
t.timestamps
end
end
end
Try this:
class CreatePurchases < ActiveRecord::Migration
def change
create_table :purchases do |t|
t.integer :purchaser_id, null: false
t.integer :item_id, null: false
t.integer :merchant_id, null: false
t.decimal :purchase_count, null: false, precision: 17, scale: 2
t.timestamps
end
add_index :purchases, :item_id
add_index :purchases, :merchant_id
add_index :purchases, :purchaser_id
end
end

Rails date properties won't save to MySQL database

I have a rails application which is running MySQL in production and SQLite in development. In development mode everything is working fine, but in production datetime properties just won't get saved to the database (even the created_at and updated_at won't). The field is not null, but 0000-00-00 00:00:00. How is this possible? I did some research but I can't fix it.
schema.rb:
# encoding: UTF-8
# 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.
#
# Note that this schema.rb definition is the authoritative source for your
# database schema. If you need to create the application database on another
# system, you should be using db:schema:load, not running all the migrations
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
# you'll amass, the slower it'll run and the greater likelihood for issues).
#
# It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20130306100623) do
create_table "announcements", :force => true do |t|
t.string "title"
t.text "text"
t.integer "user_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "delayed_jobs", :force => true do |t|
t.integer "priority", :default => 0
t.integer "attempts", :default => 0
t.text "handler"
t.text "last_error"
t.datetime "run_at"
t.datetime "locked_at"
t.datetime "failed_at"
t.string "locked_by"
t.string "queue"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
add_index "delayed_jobs", ["priority", "run_at"], :name => "delayed_jobs_priority"
create_table "document_categories", :force => true do |t|
t.string "title"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "documents", :force => true do |t|
t.string "file_file_name"
t.string "file_content_type"
t.integer "file_file_size"
t.datetime "file_updated_at"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.integer "user_id"
t.string "title"
t.text "description"
t.string "ancestry"
t.boolean "folder"
end
add_index "documents", ["ancestry"], :name => "index_documents_on_ancestry"
create_table "inventory_items", :force => true do |t|
t.string "object"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "reservation_items", :force => true do |t|
t.integer "reservation_id"
t.integer "inventory_item_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "reservations", :force => true do |t|
t.integer "user_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "start_time"
t.datetime "end_time"
end
create_table "users", :force => true do |t|
t.string "first_name"
t.string "insertion"
t.string "last_name"
t.string "telephone_prefix"
t.string "telephone_suffix"
t.string "address"
t.string "number"
t.string "postal_code"
t.string "city"
t.date "birthdate"
t.string "email", :default => "", :null => false
t.string "encrypted_password", :default => "", :null => false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.integer "sign_in_count", :default => 0
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip"
t.string "last_sign_in_ip"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "telephone_mobile"
t.integer "admin"
t.string "avatar_file_name"
t.string "avatar_content_type"
t.integer "avatar_file_size"
t.datetime "avatar_updated_at"
t.string "sex"
t.string "lovo_email"
end
add_index "users", ["email"], :name => "index_users_on_email", :unique => true
add_index "users", ["reset_password_token"], :name => "index_users_on_reset_password_token", :unique => true
end
Thank a lot!