我在做Rails + PostgreSql应用程序。我需要在生产环境中运行sql dump。我有带有courseID属性的课程表。但是,当我运行我的SQL时,我收到此错误:
PG::UndefinedColumn: ERROR: column "courseid" of relation "courses" does not exist
LINE 1: INSERT INTO courses (courseID, name, created_at, updated_at)...

以下是我的sql转储的样子:
INSERT INTO course (courseID, name, created_at, updated_at) VALUES
('CSCI150', 'Fundamentals of Programming',
localtimestamp, localtimestamp ),
etc...;

试图在引号('')周围添加属性,没有帮助。奇怪的错误。可能导致什么? 编辑: 这是我的schema.rb
中的内容
create_table "courses", force: :cascade do |t|
t.string "name"
t.string "courseID"
t.integer "school_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end

答案 0 :(得分:1)
所有非双引号的标识符(包括列名)在PostgreSQL中折叠为小写。使用双引号创建并因此保留大写字母(和/或其他语法违规)的列名必须在其余生中进行双引号。所以,是的,PostgreSQL列名称区分大小写
尝试将courseID
更改为小写或将其括在转储中的双引号中。