rails' activerecord stores data into wrong table

Viewed 204

I have following model

# app/models/admin/furniture/wood/type.rb

class Admin::Furniture::Wood::Type < ApplicationRecord
  validates_presence_of :name
  validates_uniqueness_of :name
end

but when I'am trying to save the model, it stores into the wrong table!! only this model is wrong all other models are working ok.

enter image description here

I don't understand what is the problem, I checked everything model's path, even specified the table name with self.table_name nothing worked!! Why??


Edit:

The migration file:

# db/migrate/20170505064612_create_admin_furniture_wood_types.rb

class CreateAdminFurnitureWoodTypes < ActiveRecord::Migration[5.0]
  def change
    create_table :admin_furniture_wood_types do |t|
      t.string :name
      t.text :comment

      t.timestamps
    end
  end
end

Database config file:

# config/database.yml
# MySQL. Versions 5.0 and up are supported.
#
# Install the MySQL driver
#   gem install mysql2
#
# Ensure the MySQL gem is defined in your Gemfile
#   gem 'mysql2'
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.7/en/old-client.html
#
default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password: root
  socket: /var/run/mysqld/mysqld.sock
  variables:
    sql_mode: 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

development:
  <<: *default
  database: viramobl_development

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *default
  database: viramobl_test
  password: <%= ENV['TRAVIS'] ? '' : 'root' %>

# As with config/secrets.yml, you never want to store sensitive information,
# like your database password, in your source code. If your source code is
# ever seen by anyone, they now have access to your database.
#
# Instead, provide the password as a unix environment variable when you boot
# the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database
# for a full rundown on how to provide these environment variables in a
# production deployment.
#
# On Heroku and other platform providers, you may have a full connection URL
# available as an environment variable. For example:
#
#   DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase"
#
# You can use this database configuration with:
#
#   production:
#     url: <%= ENV['DATABASE_URL'] %>
#
production:
  <<: *default
  database: viramobl_production
  username: viramobl
  password: <%= ENV['VIRAMOBL_DATABASE_PASSWORD'] %>
1 Answers
Related