Ruby on Rails - Sqlite3

时间:2015-06-19 18:24:14

标签: ruby-on-rails ruby sqlite

我是RoR和SQLite的新手;所以原谅我缺乏知识。

我跑了一个脚手架命令:

rails generate scaffold User password:string email:string

一切正常,接下来我运行rake db:migrate命令,终端建议一切都已创建。

现在我打开了一个新终端,我想验证表是否已创建,所以我在终端上点击sqlite3并运行.tables命令,它显示空值。

所以这次我运行sqlite3 db/development.sqlite3命令并点击.tables it表示无法打开数据库文件

接下来我尝试了sqlite3 development.sqlite3并点击.tables命令,但没有显示任何结果。

我不明白我做错了什么?我无法找到一个体面的教程,走过这一步。请帮忙。

这是我的.yml文件:

default: &default
  adapter: sqlite3
  pool: 5
  timeout: 5000

development:
  <<: *default
  database: db/development.sqlite3


test:
  <<: *default
  database: db/test.sqlite3

production:
  <<: *default
  database: db/production.sqlite3"

1 个答案:

答案 0 :(得分:1)

从头开始,这一系列操作会产生预期结果:

SQLite version 3.8.2 2013-12-06 14:53:30
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
schema_migrations  users

因此问题特定于您的数据库。最有可能的是,该文件已损坏。导致这种情况发生的原因有很多,最简单的解决方法(如果该文件中的数据不重要)只是擦除数据库文件并重新创建它:

rm db/development.sqlite3
rake db:create db:migrate