Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Fehler beim Abrufen der Tabelle existiert nicht, aber die Tabelle existiert (ActiveRecord::StatementInvalid Mysql2::Error:Table does not exist)

Ich glaube, Sie hatten Recht mit Ihrem Verdacht bezüglich des Tischnamens Secretsanta.

Sofern Sie in Ihrem secretsanta-Modell keinen table_name festgelegt haben, sucht Rails nach einer Tabelle namens secretsantas . Wenn die Anwendung vorher funktioniert hat, würde ich vermuten, dass die Tabelle tatsächlich secretsantas heißt .

Um die verfügbaren Tabellen aufzulisten, führen Sie Folgendes aus:

tables = ActiveRecord::Base.connection.tables

Ah, hier ist das Problem:

'Secretsanta'.pluralize
=> "Secretsanta"

Versuchen Sie, den Tabellennamen in Ihrem Modell anzugeben:

class Secretsanta < ActiveRecord::Base
  self.table_name = "secretsantas"
end