2013-08-16 5 views
0

Existe-t-il un moyen de révoquer une commande columnfamily update? J'ai essayé de mettre à jour une colonne mais je me suis retrouvé avec "update columnfamily dev;" et maintenant je vois seulement les identifiants quand je demande. Mais les données semblent exister là si je cours un état nodetool. J'ai essayé de restaurer un instantané mais même cela n'a pas aidé.Révoquer cassandra mise à jour accidentelle

Répondre

1

Donc, si je vous correctement vous avez effacé vos métadonnées de colonne et vous obtenez désormais quelque chose comme ceci:

cqlsh:test> select * from user; 

uuid 
-------------------------------------- 
fd24b190-072d-11e3-a1c4-97db6b0653ce 
054a43d0-072e-11e3-a1c4-97db6b0653ce 
0aa71920-072e-11e3-a1c4-97db6b0653ce 
07fda400-072e-11e3-a1c4-97db6b0653ce 

pendant que vous vouliez quelque chose comme ceci:

uuid         | email    | name 
--------------------------------------+----------------------+------- 
fd24b190-072d-11e3-a1c4-97db6b0653ce | [email protected] | User0 
054a43d0-072e-11e3-a1c4-97db6b0653ce | [email protected] | User1 
0aa71920-072e-11e3-a1c4-97db6b0653ce | [email protected] | User3 
07fda400-072e-11e3-a1c4-97db6b0653ce | [email protected] | User2 

Vous pouvez obtenir la retour des données en ajoutant les informations sur les colonnes.

Compte tenu de la table d'origine a été défini comme suit:

CREATE TABLE user(
    uuid timeuuid PRIMARY KEY, 
    name varchar, 
    email varchar 
); 

Vous pouvez ajouter des informations de colonne manquante à l'aide CQL:

cqlsh:test> ALTER TABLE user ADD email varchar;     
cqlsh:test> ALTER TABLE user ADD name varchar; 
Questions connexes