> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/on-premises/el/diaxeirisi-xriston-kai-ergon/user-management/username-migration.md).

# Μετεγκατάσταση ονομάτων χρήστη

## Μετεγκατάσταση ονομάτων χρήστη

Από την οπτική της σύνδεσης, το κύριο αναγνωριστικό για έναν χρήστη είναι η διεύθυνση email του. Αν μετεγκαθιστάτε από τοπική πιστοποίηση σε SSO ή αν μετεγκαθιστάτε από έναν IdP σε έναν άλλο, ενδέχεται να απαιτηθεί να ενημερώσετε τις διευθύνσεις email των χρηστών.

Για να βοηθήσουμε σε αυτό, παρέχεται ένα script που θα μετεγκαταστήσει τα email των χρηστών χρησιμοποιώντας ένα αρχείο CSV με την ακόλουθη μορφή:

`oldEmail,newEmail`

Αφού γίνουν ορισμένοι έλεγχοι επικύρωσης, το script θα διατρέξει το αρχείο CSV και θα ενημερώσει τις διευθύνσεις email των χρηστών από `oldEmail` σε `newEmail`.

### **Επικύρωση**

Πριν εκτελέσετε τη μετεγκατάσταση, το `<csv_file>` θα ελεγχθεί για να διασφαλιστεί ότι:

* Για κάθε γραμμή, τόσο το `oldEmail` και το `newEmail` είναι έγκυρες διευθύνσεις email
* Δεν υπάρχουν διπλότυπες εγγραφές· για παράδειγμα, δεν επιχειρείτε να ενημερώσετε διαφορετικούς χρήστες στην ίδια νέα διεύθυνση email ή προσπαθείτε να ενημερώσετε τον ίδιο λογαριασμό χρήστη με μια διεύθυνση email που έχει ήδη χρησιμοποιηθεί

### **Χρήση** <a href="#usage" id="usage"></a>

{% code overflow="wrap" %}

```bash
docker cp <csv_file> sharelatex:/overleaf/services/web/<csv_file> docker exec sharelatex /bin/bash -c "cd /overleaf/services/web;node ./modules/server-ce-scripts/scripts/migrate-user-emails.js [--commit] [--continue|--ignore-missing] [--admin-id=ADMIN_USER_ID] <csv_file>"
```

{% endcode %}

### **Παράμετροι** <a href="#flags" id="flags"></a>

| Όνομα              | Περιγραφή                                                                                                                                                                                                                                                                                                        |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--commit`         | <p>Η συμπερίληψη της <code>--commit</code> σημαίας θα εκτελέσει πραγματικά τη μετεγκατάσταση. Όταν παραλείπεται, η μετεγκατάσταση θα γίνει σε λειτουργία δοκιμαστικής εκτέλεσης, όπου δεν γίνονται αλλαγές αλλά η επικύρωση εξακολουθεί να εκτελείται.<br><br><strong>Προεπιλογή</strong>:<code>false</code></p> |
| `--continue`       | Το `--continue` σημαία θα συνεχίσει τη διαδικασία μετεγκατάστασης εάν, για έναν λογαριασμό χρήστη, η διεύθυνση email στον λογαριασμό έχει ήδη ενημερωθεί                                                                                                                                                         |
| `--ignore-missing` | Το `--ignore-missing` σημαία θα συνεχίσει τη διαδικασία μετεγκατάστασης εάν δεν βρέθηκε λογαριασμός χρήστη                                                                                                                                                                                                       |
| `--admin-id`       | Το `--admin-id` πρέπει να οριστεί στο ID του Διαχειριστή που εκτελεί τη μετεγκατάσταση και θα χρησιμοποιηθεί για εγγραφές του αρχείου ελέγχου. Μεταβείτε στο **Διαχειριστής** > **Διαχείριση χρηστών** και αναζητήστε τη διεύθυνση email σας και κάντε κλικ στο πρώτο αποτέλεσμα για να βρείτε το user-id σας.   |
| `<csv_file>`       | Το `<csv_file>` είναι το αρχείο με τις παλιές και νέες διευθύνσεις email σε                                                                                                                                                                                                                                      |

### **Ολοκλήρωση** <a href="#completion" id="completion"></a>

Κατά την εκτέλεση του script μετεγκατάστασης, ανάλογα με τις σημαίες που έχετε επιλέξει, θα καθοριστεί αν θα καταγραφεί ένα σφάλμα στην κονσόλα και θα συνεχίσει ή αν θα καταγραφεί στην κονσόλα και θα τερματιστεί. Αν το script τερματιστεί πρόωρα λόγω σφάλματος, θα επιστρέψει με κωδικό 1 για να δηλώσει ότι ήταν ανεπιτυχές.

Με την ολοκλήρωση της μετεγκατάστασης, το script θα καταγράψει στην κονσόλα τον αριθμό των επιτυχημένων, αποτυχημένων και παραλειφθέντων ενημερώσεων. Αν η μετεγκατάσταση ολοκληρωθεί επιτυχώς, θα τερματίσει με κωδικό 0.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/on-premises/el/diaxeirisi-xriston-kai-ergon/user-management/username-migration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
