当您为空间定义架构时,您可以使用尚未记录space:format()
的函数分配字段名称,然后您可以将这些名称用于索引定义。[available in Tarantool 1.7+]
示例代码:
box.once("testapp:schema:1", function()
local customer = box.schema.space.create('customer')
customer:format({
{'customer_id', 'unsigned'},
{'name', 'string'},
})
customer:create_index('customer_id', {parts = {'customer_id'}})
local account = box.schema.space.create('account')
account:format({
{'account_id', 'unsigned'},
{'customer_id', 'unsigned'},
{'balance', 'unsigned'},
{'name', 'string'},
})
account:create_index('account_id', {parts = {'account_id'}})
account:create_index('customer_id', {parts = {'customer_id'}, unique = false})
box.snapshot()
end)
不幸的是,您不能在space:insert()
或类似函数中使用字段名称。