将列添加到由Sequel Model管理的表中

时间:2017-05-24 13:56:34

标签: ruby sqlite sequel

我正在使用Sequel :: Model。我的模型有一个set_schema块和一个create_table调用,因此数据库完全由模型管理。数据库是sqlite。

我正在尝试向数据库添加列,但我无法找到方法。向架构添加字段无效。添加迁移或alter_table调用不会执行任何操作。我已经询问了IRC并阅读了文档。我找不到任何人这样做的例子,但看起来很简单。

如何在续集模型中添加列/字段?

1 个答案:

答案 0 :(得分:0)

我做了一大堆研究,并与杰里米埃文斯交谈过。我错了。正确的方法是删除我的架构插件代码和create_table块,然后转移到使用迁移。我经历的步骤是:

  1. 从我的modesl
  2. 中删除架构代码(create_table,set_schema)
  3. 通过sequel -d命令将模式从我当前的sqlite数据文件转储到初始迁移到迁移文件中
  4. 创建一个新的迁移,通过add_column调用在更改块的alter_table块中添加我需要的列
  5. 通过续集-m命令
  6. 应用迁移
  7. 创建rake任务以运行迁移并将这些任务挂钩到我的部署任务中