我正在尝试提交付款费用。我制作了我的桌子,并从{1}}开始订单。这是我的架构:
order_id
付款提供商在 create_table "payments", force: :cascade do |t|
t.string "payment_id"
t.integer "order_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "payment_type"
t.index ["order_id"], name: "index_payments_on_order_id", using: :btree
end
中至少需要10位数字。我如何迁移它以使我的数据从1000000 order_id
开始?有没有办法改变数据增量的位置?
答案 0 :(得分:1)
抱歉,我不知道如何将以下内容转为ruby迁移,我只是将其作为SQL命令保留,以实现帖子中的目标:
假设您现有的最高order_id为890,然后设置其序列的最后一个值,以便下一个默认值为1000000891,您必须:
ALTER SEQUENCE order_id_seq RESTART WITH 1000000890;
要处理现有值,您需要更新它们:
UPDATE payments set order_id = order_id + 1000000000;
当然,如果你自己没有达到1000000就应该有效(这反映在“让我们说你现有的最高order_id是890”)