1
SQLite 데이터베이스에 다른 테이블을 만들었지 만, 불행하게도 레일 콘솔을 통해 테이블에 액세스 할 수 없습니다. GUI를 통해 한 행의 데이터를 추가하고 SQLite에 대한 액세스를 시도하고 있는데 오류가 발생합니다. "ActiveRecord :: StatementInvalid : SQLite3 :: SQLException : 해당 테이블이 없습니다."ruby (5) on rails - SQLite3 :: SQLException : 테이블이 없습니다.
내 스키마에서 나는 이미 그것을 볼 수 있습니다
create_table "user_information", force: :cascade do |t|
t.string "charity_name", limit: 100
t.string "res_exp_contact_name", limit: 50
t.string "res_exp_contact_email", limit: 100, default: "", null: false
t.string "grants_contact_name", limit: 50
t.string "grants_contact_email", limit: 100, default: "", null: false
t.boolean "submission_status_res_exp"
t.integer "submission_status_grants"
t.string "category"
t.string "username"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "password_digest"
t.index ["username"], name: "index_user_information_on_username"
end
이 터미널이 같은 모습입니다 :
ck$ rails console
Running via Spring preloader in process 8442
Loading development environment (Rails 5.1.4)
Cannot read termcap database;
using dumb terminal settings.
irb(main):001:0> user = UserInformation.first
UserInformation Load (0.2ms) SELECT "user_informations".* FROM
"user_informations" ORDER BY "user_informations"."id" ASC LIMIT ?
[["LIMIT", 1]]
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table:
user_informations: SELECT "user_informations".* FROM
"user_informations" ORDER BY "user_informations"."id" ASC LIMIT ?
from (irb):1
는 사람이에 대한 해결책을 알고 있나요? 나는 어떤 조언도 감사한다! :-)
'create_table "user_information"'vs''create_table'은 단일화 된 버전을 사용하지만 레일스 (기본적으로)는 복수형으로 테이블의 이름을 계산합니다. 'UserInformation' 모델 (권장하지 않음)에서 테이블의 이름을 수동으로 설정하거나 이전 테이블을'create_table "user_informations"'(!!!)로 바꿀 수 있습니다. 그러면이 테이블의 기존 데이터가 모두 삭제됩니다 기존 데이터를 유지하려는 경우 테이블의 이름을 바꾸는 새로운 마이그레이션) – MrYoshiji