gpt4 book ai didi

ruby - DataMapper导入主键

转载 作者:数据小太阳 更新时间:2023-10-29 08:06:23 25 4
gpt4 key购买 nike

我正在运行一个导入脚本,该脚本使用 DataMapper 将数据库的 CSV 转储导入本地 sqlite 数据库。

我的模型是这样的:

class Staff

include DataMapper::Resource

property :staff_id, String, :key => true
property :full_name, String

end

class Project

include DataMapper::Resource

property :project_id, Integer, :key => true
property :title, String
property :status, String

belongs_to :staff

end

CSV 包含主键,因此当我进行导入时,我将其用作键。下次我运行导入时,我会清除表并重新开始,但是数据映射器发出呻吟声,因为主键已被占用。

有没有办法阻止 datamapper 提示这个,或者我应该删除 .db 文件并在导入运行之前重新创建一个空的 .db 文件?如果是这样,最简单的方法是什么。

最佳答案

您可以使用 DataMapper.auto_migrate! 清除表,然后重新创建它们以匹配当前模型状态。新表将清空之前运行的任何数据。

因此,在您定义模型之后,但在开始导入数据之前,请执行以下操作:

DataMapper.finalize.auto_migrate!

关于ruby - DataMapper导入主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3043701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com