我在rails中更改了我的表名,之后我收到了这个错误:
PG::Error: ERROR: relation "old_table_name" does not exist
LINE 4: WHERE a.attrelid = '"old_table_name"'::regclass
^
: 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 = '"old_table_name"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
我该怎么做才能摆脱这个错误?
答案 0 :(得分:1)
您还需要确保您的模型,控制器,关联等也得到纠正。该错误表明您的Rails应用程序的一部分仍在使用旧名称。
此错误看起来像是来自Rails日志。如果你在PG::Error
之前看几行,它应该指出代码的一部分,并且应该告诉你需要在何处进行修正。
答案 1 :(得分:0)
由于错误明确指的是relation
,我猜你还有某个地方
has_many :old_names
或
belongs_to :old_name
另外:您是否更改了任何外键以匹配新名称?例如。 new_table_name_id
代替old_table_name_id
?
希望这有帮助。