Hi: I need to remove a reference to a table that is incorrect but I cannot find where that reference is stored. I am using ruby 2.6.0, sequel 5.30.0 and postgres 13 and Sinatra 2.0.8.
I mistakenly referred to a table with a misspelling in one of my migration files, ran the migrator and now I am getting an error that the table (with the misspelled name) does not exist when I try to run the application.
Sequel::DatabaseError: PG::UndefinedTable: ERROR: relation "renew_event_types" does not exist
I corrected the misspelled reference in my migration (it should be "renewal_event_types"), ran the migrations back to the one before this then reran all the migrations forward and I still get the error. I dropped the database, ran the migrations again and still get the error. I cannot find any file with the word "renew_event_types" in it on my system so I believe that somehow this reference is not in ascii format. If it was stored in Postgres, it should have been removed when I dropped the database. Would it be stored in a sequel file somewhere associated with this project?
Here is the parc-mbr/app/renewalEventType.rb where I initially spelled the reference to the foreign key "renew_event_type_id" then changed it to "renewal_event_type_id" to reflect the correct table "renewal_event_type" (note change from renew to renewal).
require_relative '../config/sequel'
module MemberTracker
class RenewEventType < Sequel::Model
one_to_many :mbr_renewals, :class=>"MemberTracker::MbrRenewal", key: :renewal_event_type_id
many_to_one :auth_users, :class=> "MemberTracker::Auth_user", key: :a_user_id
end
end
Here is the other associated model file parc-mbr/app/mbrRenewal.rb
require_relative '../config/sequel'
module MemberTracker
class MbrRenewal < Sequel::Model
one_to_many :log, :class =>"MemberTracker::Log", key: :mbr_renewal_id
many_to_one :auth_user, :class=>Auth_user, key: :a_user_id
many_to_one :member, :class=>Member, key: :mbr_id
many_to_one :renewalEventType
def getRenewalTypeIDs
DB.from(:renewal_event_types).select(:id, :name).all
end
end
end
Here is the full trace in my terminal. Thanks for any pointers on how to begin to solve this problem.
2022-09-18 16:06:06.135 PDT [1837] ERROR: relation "renew_event_types" does not exist at character 1133
2022-09-18 16:06:06.135 PDT [1837] STATEMENT: SELECT "pg_attribute"."attname" AS "name", CAST("pg_attribute"."atttypid" AS integer) AS "oid", CAST("basetype"."oid" AS integer) AS "base_oid", format_type("basetype"."oid", "pg_type"."typtypmod") AS "db_base_type", format_type("pg_type"."oid", "pg_attribute"."atttypmod") AS "db_type", pg_get_expr("pg_attrdef"."adbin", "pg_class"."oid") AS "default", NOT "pg_attribute"."attnotnull" AS "allow_null", COALESCE(("pg_attribute"."attnum" = ANY("pg_index"."indkey")), false) AS "primary_key", "pg_attribute"."attidentity" FROM "pg_class" INNER JOIN "pg_attribute" ON ("pg_attribute"."attrelid" = "pg_class"."oid") INNER JOIN "pg_type" ON ("pg_type"."oid" = "pg_attribute"."atttypid") LEFT OUTER JOIN "pg_type" AS "basetype" ON ("basetype"."oid" = "pg_type"."typbasetype") LEFT OUTER JOIN "pg_attrdef" ON (("pg_attrdef"."adrelid" = "pg_class"."oid") AND ("pg_attrdef"."adnum" = "pg_attribute"."attnum")) LEFT OUTER JOIN "pg_index" ON (("pg_index"."indrelid" = "pg_class"."oid") AND ("pg_index"."indisprimary" IS TRUE)) WHERE (("pg_attribute"."attisdropped" IS FALSE) AND ("pg_attribute"."attnum" > 0) AND ("pg_class"."oid" = CAST(CAST('"renew_event_types"' AS regclass) AS oid))) ORDER BY "pg_attribute"."attnum"
2022-09-18 16:06:06.135 PDT [1837] ERROR: relation "renew_event_types" does not exist at character 15
2022-09-18 16:06:06.135 PDT [1837] STATEMENT: SELECT * FROM "renew_event_types" LIMIT 1
bundler: failed to load command: rackup (/Users/megazoic/.rbenv/versions/2.6.6/bin/rackup)
Sequel::DatabaseError: PG::UndefinedTable: ERROR: relation "renew_event_types" does not exist
LINE 1: SELECT * FROM "renew_event_types" LIMIT 1
^
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/adapters/postgres.rb:156:in `exec'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/adapters/postgres.rb:156:in `block in execute_query'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/database/logging.rb:38:in `log_connection_yield'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/adapters/postgres.rb:156:in `execute_query'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/adapters/postgres.rb:144:in `block in execute'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/adapters/postgres.rb:120:in `check_disconnect_errors'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/adapters/postgres.rb:144:in `execute'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/adapters/postgres.rb:500:in `_execute'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/adapters/postgres.rb:318:in `block (2 levels) in execute'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/adapters/postgres.rb:522:in `check_database_errors'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/adapters/postgres.rb:318:in `block in execute'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/connection_pool/threaded.rb:88:in `hold'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/database/connecting.rb:270:in `synchronize'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/adapters/postgres.rb:318:in `execute'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/dataset/actions.rb:1089:in `execute'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/adapters/postgres.rb:614:in `fetch_rows'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/dataset/actions.rb:152:in `each'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/dataset/actions.rb:86:in `columns!'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/dataset/actions.rb:76:in `columns'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/model/base.rb:242:in `columns'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/model/base.rb:811:in `block (2 levels) in get_db_schema'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/model/base.rb:725:in `block in check_non_connection_error'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/database/transactions.rb:201:in `block in transaction'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/connection_pool/threaded.rb:92:in `hold'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/database/connecting.rb:270:in `synchronize'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/database/transactions.rb:195:in `transaction'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/model/base.rb:725:in `check_non_connection_error'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/model/base.rb:811:in `block in get_db_schema'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/model/base.rb:844:in `get_db_schema'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/model/base.rb:644:in `set_dataset'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/sequel-5.30.0/lib/sequel/model/base.rb:499:in `inherited'
/Users/megazoic/Documents/dev/proj/versioned/ruby/parc-mbr/app/renewalEventType.rb:4:in `<module:MemberTracker>'
/Users/megazoic/Documents/dev/proj/versioned/ruby/parc-mbr/app/renewalEventType.rb:3:in `<top (required)>'
/Users/megazoic/Documents/dev/proj/versioned/ruby/parc-mbr/app/api.rb:20:in `require_relative'
/Users/megazoic/Documents/dev/proj/versioned/ruby/parc-mbr/app/api.rb:20:in `<top (required)>'
/Users/megazoic/Documents/dev/proj/versioned/ruby/parc-mbr/config.ru:1:in `require_relative'
/Users/megazoic/Documents/dev/proj/versioned/ruby/parc-mbr/config.ru:1:in `block in <main>'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rack-2.2.2/lib/rack/builder.rb:116:in `eval'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rack-2.2.2/lib/rack/builder.rb:116:in `new_from_string'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rack-2.2.2/lib/rack/builder.rb:105:in `load_file'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rack-2.2.2/lib/rack/builder.rb:66:in `parse_file'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rack-2.2.2/lib/rack/server.rb:349:in `build_app_and_options_from_config'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rack-2.2.2/lib/rack/server.rb:249:in `app'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rack-2.2.2/lib/rack/server.rb:422:in `wrapped_app'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rack-2.2.2/lib/rack/server.rb:312:in `block in start'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rack-2.2.2/lib/rack/server.rb:379:in `handle_profiling'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rack-2.2.2/lib/rack/server.rb:311:in `start'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rack-2.2.2/lib/rack/server.rb:168:in `start'
/Users/megazoic/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rack-2.2.2/bin/rackup:5:in `<top (required)>'
/Users/megazoic/.rbenv/versions/2.6.6/bin/rackup:23:in `load'
/Users/megazoic/.rbenv/versions/2.6.6/bin/rackup:23:in `<top (required)>'