Comment importer et exporter un schéma depuis Cassandra ou Cassandra cqlsh Prompt?
Pour exporter le schéma d'espace de clés:
cqlsh -e "DESC KEYSPACE user" > user_schema.cql
Pour exporter l'intégralité du schéma de base de données:
cqlsh -e "DESC SCHEMA" > db_schema.cql
Pour importer le schéma, ouvrez le terminal à l'emplacement 'user_schema.cql' ('db_schema.cql') (ou vous pouvez spécifier le chemin complet) et ouvrez le shell cqlsh. Utilisez ensuite la commande suivante pour importer le schéma d'espace de clés:
source 'user_schema.cql'
Pour importer un schéma de base de données complet:
source 'db_schema.cql'
Si vous utilisez cassandra-cli, vous pouvez utiliser le 'show schema;' pour vider tout le schéma. Vous pouvez restreindre à un espace de clés spécifique en exécutant 'use keyspace;' première.
Vous pouvez stocker la sortie dans un fichier, puis l'importer avec 'cassandra-cli -f filename'.
Si vous utilisez cqlsh, vous pouvez utiliser la commande 'describe schema'. Vous pouvez restreindre à un espace de clés avec "décrire l'espace de clés espace de clés".
Vous pouvez l'enregistrer dans un fichier puis l'importer avec 'cqlsh -f filename'.
Pour quelqu'un qui vient à l'avenir, juste pour obtenir ddl pour le schéma/espace de clés avec "myschema" dans le serveur "CassandraHost".
echo -e "use myschema;\nDESCRIBE KEYSPACE;\n" | cqlsh CassandraHost > mySchema.cdl
et vous pouvez utiliser ce qui suit pour importer uniquement DDL (sans données):
cqlsh CassandraNEWhost -f mySchema.cdl
Tout directement depuis la ligne de commande. Pas besoin d'aller dans cqlsh.
Importer le schéma (fichier .cql):
$ cqlsh -e "SOURCE '/path/to/schema.cql'"
Exporter l'espace clé:
$ cqlsh -e "DESCRIBE KEYSPACE somekeyspace" > /path/to/somekeyspace.cql
Exporter le schéma de la base de données:
$ cqlsh -e "DESCRIBE SCHEMA" > /path/to/schema.cql