PG::UndefinedTable: ERROR: relation "merit_actions" does not exist LINE 8 - ruby-on-rails

When I try to sign up, I get this error... but I am able to sign in with the new account.
PG::UndefinedTable: ERROR: relation "merit_actions" does not exist LINE 8: WHERE a.attrelid = '"merit_actions"'::regclas... ^ : SELECT a.attname, format_type(a.atttypid, a.atttypmod), pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod, c.collname, col_description(a.attrelid, a.attnum) AS comment FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum LEFT JOIN pg_type t ON a.atttypid = t.oid LEFT JOIN pg_collation c ON a.attcollation = c.oid AND a.attcollation <> t.typcollation WHERE a.attrelid = '"merit_actions"'::regclass AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum
log(sql, name) do
ActiveSupport::Dependencies.interlock.permit_concurrent_loads do
result_as_array #connection.async_exec(sql)
end
end
end
I have run reset database and run migrations a few times...
Any ideas?

I had gems and files that needed to be deleted. :(

Related

Database error on executing test Ruby on Rails with postgres

I have been in trouble with this error caused when I started to code my tests on ruby on rails.
I have search in the web but the posts that I have found did not help me. I leave the references:
Rails: Relation does not exist for reference with class name in production
https://github.com/rails/rails/issues/29206
PG undefinedtable error relation users does not exist
This is the test that I made:
App/test/models/material_test.rb
require 'test_helper'
class MaterialTest < ActiveSupport::TestCase
test "the truth" do
assert true
end
end
When I try to execute it using:
rails test
I got the following error:
# Running:
E
Error:
CategoriesControllerTest#test_the_truth:
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation "object_formats" does not exist
LINE 8: WHERE a.attrelid = '"object_formats"'::regcla...
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod,
c.collname, col_description(a.attrelid, a.attnum) AS comment
FROM pg_attribute a
LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum
LEFT JOIN pg_type t ON a.atttypid = t.oid
LEFT JOIN pg_collation c ON a.attcollation = c.oid AND a.attcollation <> t.typcollation
WHERE a.attrelid = '"object_formats"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
My repo is public and the code is up to date.
https://github.com/FragmentX/FRAGMENTX

PG::UndefinedTable: ERROR: relation "rooms" does not exist

I just migrated from Sqlite3-local to Postgresql on heroku. One of my view that was working fine now shows ther following error:
PG::UndefinedTable: ERROR: relation "rooms" does not exist LINE 8: WHERE a.attrelid = '"rooms"'::regclass ^ : SELECT a.attname, format_type(a.atttypid, a.atttypmod), pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod, c.collname, col_description(a.attrelid, a.attnum) AS comment FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum LEFT JOIN pg_type t ON a.atttypid = t.oid LEFT JOIN pg_collation c ON a.attcollation = c.oid AND a.attcollation <> t.typcollation WHERE a.attrelid = '"rooms"'::regclass AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum
The controller is simple :
def index
#rooms = Room.all
end
The console shows the following:
ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR: relation "rooms" does not exist)
LINE 1: SELECT "rooms".* FROM "rooms" LIMIT $1
^
: SELECT "rooms".* FROM "rooms" LIMIT $1
The room table is in the database and event contain some dummy data.
Anyone is familiar with this problem please ?
Thanks.

rails 4 postgis and singular table names

We are using rails (4.0.4), ruby (2.0.0p247) and activerecord-postgis-adapter (0.6.5) and singular table names set in ./config/environment.rb (ActiveRecord::Base.pluralize_table_names = false)
This works great in development and test environments.
In the production environment it works for every table but one, project. For this table we are seeing an error in the controller index.
I regenerated the scaffolding and was able to pinpoint the problem the this lin in the project_controllers:
set_rgeo_factory_for_column(:location, RGeo::Geographic.spherical_factory(:srid => 4326))
The error is:
E, [2014-04-11T10:23:09.543299 #10740] ERROR -- : PG::UndefinedTable: ERROR: relation "projects" does not exist
LINE 5: WHERE a.attrelid = '"projects"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"projects"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
I, [2014-04-11T10:23:09.543625 #10740] INFO -- : Completed 500 Internal Server Error in 7ms
F, [2014-04-11T10:23:09.545403 #10740] FATAL -- :
ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR: relation "projects" does not exist
LINE 5: WHERE a.attrelid = '"projects"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"projects"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
): app/controllers/projects_controller.rb:11:in `index'
Seems really odd it works in every other environment and in production it only fails for one table, as well as associated tables.
Any suggestion appreciated.
I found two solutions:
remove set_rgeo_factory_for_column from the model, I was using the default factory anyways
Explicitly specify the table name, self.table_name. This is odd since i set ActiveRecord::Base.pluralize_table_names = false

papertrail "versions" does not exist

Env: Rails 3.2.11
Added paper_trail gem.
Note that I already used that gem and I never had a problem but this time I am getting an error and I can't find out why.
In my Model:
class User < ActiveRecord::Base
has_paper_trail :versions => :paper_trail_versions
...
end
The error:
User Exists (0.6ms) SELECT 1 AS one FROM "users" WHERE ("users"."pseudo" = 'joel' AND "users"."id" != 21) LIMIT 1
PG::Error: ERROR: relation "versions" does not exist
LINE 5: WHERE a.attrelid = '"versions"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"versions"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
(0.1ms) ROLLBACK
Completed 500 Internal Server Error in 28ms
ActiveRecord::StatementInvalid (PG::Error: ERROR: relation "versions" does not exist
LINE 5: WHERE a.attrelid = '"versions"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"versions"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
)
any leads on how to troubleshoot this?
Have you followed the installation instructions:
Install PaperTrail as a gem via your Gemfile:
gem 'paper_trail', '~> 2'
Generate a migration which will add a versions table to your database.
bundle exec rails generate paper_trail:install
Run the migration.
bundle exec rake db:migrate
Add has_paper_trail to the models you want to track.
from https://github.com/airblade/paper_trail

Rails 3 with Postgresql - noisy db?

I recently moved my Rails app to Postgres and noticed in the developments logs it's full of SQL statements like the following:
SQL (1.1ms) SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"permissions"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
SQL (1.1ms) SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"spaces"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
Anyone know what the deal is with this, seems like it's a performance hit? Is it?
Thanks
You can get rid of these messages with the silent-postgres gem.

Resources