【问题标题】:How to resolve db:migrate error SQLite3::SQLException: no such table:如何解决 db:migrate 错误 SQLite3::SQLException: no such table:
【发布时间】:2015-06-19 15:44:32
【问题描述】:

我正在尝试使用社交网络 gem inkwell。 我正在遵循简单的说明 here

我使用 rails generate 模型创建了一个帖子、用户、类别和社区模型 然后我配置模型并运行

$ rake inkwell:install:migrations
$ rake db:migrate

但以错误结束

SQLite3::SQLException: no such table: posts:

这个模型有一个迁移文件,我一直认为一旦你创建了模型然后在迁移之后它会创建一个表,所以我有点困惑。当然,当我rails console Post.all 没有桌子时,这种迁移就不会发生。

【问题讨论】:

  • 您必须创建用户和发布模型,运行新的迁移,然后按照说明操作。
  • 请添加为答案

标签: ruby-on-rails sqlite


【解决方案1】:

正如说明中所说,您必须在模型之前为用户和帖子创建模型。 因此,如果我们假设您刚刚使用生成器创建了模型,请为它们运行迁移:

$ rake db:migrate

创建所需的表,然后:

$ rake inkwell:install:migrations
$ rake db:migrate

【讨论】:

    【解决方案2】:

    你试过rake db:reset吗? 或者删除数据库文件并:

    rake db:create
    rake db:migrate
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-17
      • 2022-07-22
      • 2016-12-08
      • 1970-01-01
      • 2022-06-15
      • 2023-03-31
      • 1970-01-01
      • 2020-04-26
      相关资源
      最近更新 更多