# Moving Data between Collections

Entries can be exported from a lesana collection to another using the `lesana export` command and a jinja2 template.

The template should generate a yaml file that is a valid lesana entry for the destination collection and it can use the fields of the starting collection as variables. The variable `entry` is also available and gives complete access to the entry of the original collection, so fields with names that aren’t valid jinja templates can be accessed as `entry.data[<field-name>]`.

E.g. to convert between a collection with fields `name`, `short-desc`, `desc` to a collection with fields `name`, `description` one could use the following template:

    name: {{ name }}
    description: |
        {{ entry.data.[short-desc] }}

        {{ desc | indent(width=4, first=False) }}

From the origin collection you can then run the command:

    lesana export <path/to/destination/collection> <path/to/template>

to export all entries.

You can also export just a subset of entries by adding a xapian query with the parameter `--query`; you can test the search using:

    lesana search --all <some search terms>

and then actually run the export with:

    lesana search --query '<some search terms>' <destination> <template>

note that in this second command the spaces in the search query have to be protected from the shell.