【问题标题】:Ruby Sequel error, table already existsRuby Sequel 错误,表已存在
【发布时间】:2022-01-23 13:52:47
【问题描述】:

我意识到我无法运行教程 (http://sequel.jeremyevans.net/) 两次。

第一次,它按照我们的预期运行。但是第二次就报错了

SQLite3::SQLException: table `items` already exists (Sequel::DatabaseError)

我了解该错误,但我不知道如何修复它。

如何打开数据库而不丢失其中包含的数据,并且仍然能够运行教程?

【问题讨论】:

  • 在这种情况下,您可以备份数据并删除表并再次创建表并导入备份数据
  • 不!这太可怕了!如果你有 10 GB 怎么办?您不能等待两次(备份和导入时)

标签: sql ruby sequel


【解决方案1】:

问题是,它试图创建一个同名的数据库,但它已经存在,所以会引发错误。

解决方案:

  • create_table尝试创建表,如果已经存在则报错。
  • create_table! 如果表存在则删除表,然后创建表(您会丢失您的数据)。
  • create_table? 仅当表不存在时才创建。

【讨论】:

    猜你喜欢
    • 2012-07-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-12
    • 1970-01-01
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多