Comment créer un espace dans Tarantool?

Sep 23 2020

J'ai lancé Tarantool et j'ai appelé box.cfg{}pour la première configuration.

La prochaine étape: je veux créer un espace dans Tarantool. J'ai lu la documentation mais je n'ai pas tout compris.

Comment dois-je le faire?

Réponses

2 DarkWiiPlayer Sep 23 2020 at 20:13

Vous n'avez pas besoin de créer la séquence manuellement; il suffit de passer trueet tarantool créera une séquence et même la supprimera lorsque vous déposerez l'espace. Vous pouvez également ignorer l' partsoption car elle est par défaut{1, 'unsigned'}

box.space.users:create_index("pk", { if_not_exists = true, sequence = true })
2 ArturBarsegyan Sep 23 2020 at 17:05

Créez-le via l'API Box:

box.schema.sequence.create('user_seq', { if_not_exists = true })
box.schema.create_space('users', { if_not_exists = true, format={
    { name = 'id', type = 'unsigned'},
    { name = 'name', type = 'string'}, 
    { name = 'age', type = 'unsigned'}} 
})
box.space.users:create_index('pk', { parts = { 'id' }, if_not_exists = true })

Avec if_not_exists, tarantool n'essaiera pas de créer de l'espace s'il existe déjà.

La création de l'index est obligatoire car Tarantool ne vous permet pas d'insérer des données dans l'espace sans aucun index.

Après avoir créé l'espace, vous pouvez insérer et sélectionner des données:

box.space.users:insert({ box.sequence.user_seq:next(), 'Artur Barsegyan', 24 })
box.space.users:get({1})
---
- - [1, 'Artur Barsegyan']
...

Vous pouvez en savoir plus dans la documentation.