繁体   English   中英

rails上的ruby(5) - SQLite3 :: SQLException:没有这样的表

[英]ruby (5) on rails - SQLite3::SQLException: no such table

我在我的SQLite数据库中创建了另一个表,但遗憾的是无法通过rails控制台访问它。 我通过GUI(SQL Browser的数据库浏览器)添加了一行数据,现在我正在尝试访问它,但它给出了错误“ActiveRecord :: StatementInvalid:SQLite3 :: SQLException:no such table:”

在我的架构中,我已经可以看到它:

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

有谁知道解决这个问题? 我很感激任何提示! :-)

解决了它。 答案是你总是将表命名为复数,所以我添加了一个将我的表从“user_information”重命名为“user_informations”的迁移。 现在它有效!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM