找不到表(升级到更新的Ruby和Rails版本之后)

时间:2018-06-12 22:06:15

标签: ruby-on-rails ruby sqlite

我有一个曾经工作的应用程序(基于this tutorial)。但是,我现在得到错误:

  

无法找到表'用户'

我不得不升级我使用的Ruby版本(从2.0.0升级到2.4.4)。使用较新的Ruby版本,我还必须使用应用程序使用的某些宝石的较新版本。特别是,更新版本的sqlite3管理应用程序的数据库。

新的sqlite3是不能再找到表的原因吗?我该怎么做才能解决错误?我假设升级gem版本没有删除之前包含的数据......

1 个答案:

答案 0 :(得分:1)

如果您使用的是SQLite并且没有db/development.sqlite3文件,则会发生一些事情,您将不得不重新创建数据库。如果这是开发环境并且您可以清理数据库,请运行以下命令:

RAILS_ENV=development rails db:drop db:create db:migrate db:seed

这将重新创建数据库,运行迁移和seeds.rb文件。

注意:默认情况下,Rails会创建.gitignore文件,不包括.sqlite3个文件。这将阻止对SQLite数据库进行版本控制。