我有一个曾经工作的应用程序(基于this tutorial)。但是,我现在得到错误:
无法找到表'用户'
我不得不升级我使用的Ruby版本(从2.0.0升级到2.4.4)。使用较新的Ruby版本,我还必须使用应用程序使用的某些宝石的较新版本。特别是,更新版本的sqlite3管理应用程序的数据库。
新的sqlite3是不能再找到表的原因吗?我该怎么做才能解决错误?我假设升级gem版本没有删除之前包含的数据......
答案 0 :(得分:1)
如果您使用的是SQLite并且没有db/development.sqlite3
文件,则会发生一些事情,您将不得不重新创建数据库。如果这是开发环境并且您可以清理数据库,请运行以下命令:
RAILS_ENV=development rails db:drop db:create db:migrate db:seed
这将重新创建数据库,运行迁移和seeds.rb
文件。
注意:默认情况下,Rails会创建.gitignore
文件,不包括.sqlite3
个文件。这将阻止对SQLite数据库进行版本控制。