Ruby Sequel错误,表已经存在

时间:2014-09-04 04:25:08

标签: sql ruby sequel

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

第一次,它按照我们的预期运行。但第二次,它会引发错误

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

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

如何在不丢失其包含的数据的情况下打开数据库,并且仍能运行教程?

1 个答案:

答案 0 :(得分:16)

问题是,它尝试创建一个具有相同名称的数据库,但它已经存在,因此会引发错误。

解决方案:

  • create_table尝试创建表,如果已存在则引发错误。
  • create_table!删除表格(如果存在),然后创建表格(您放弃数据)。
  • create_table?仅在表不存在时才创建表。