Actuellement, je sous-traite pour aider à la collecte de données en grattant à l'aide de l'application Rails, mais comme j'utilise l'environnement Docker, ce sera difficile si je supprime accidentellement le volume, etc. Je sauvegarde mes données à chaque fois que je termine. (Il y a environ 330000 enregistrements)
Je vais vous montrer comment faire ça!
Créez le fichier dans lequel vous souhaitez insérer les données de sauvegarde dans le répertoire racine de Rails et exécutez la commande suivante.
$ docker exec -it CONTAINER_NOM (par exemple:myapp_db_1) mysqldump DATABASE_NAME(Exemple:myapp_développement etc.) > backup.sql
Créez le fichier de sauvegarde (dump.sql) que vous souhaitez importer dans le répertoire racine de Rails et exécutez la commande suivante.
$ docker cp dump.sql mydocker_db_1:/tmp/dump.sql
$ docker exec -it myapp_db_1 bash
$ mysql -u USER_NAME -p -h HOST_NAME(database.nom d'hôte yml,db) DB_NAME(myapp_développement etc.) < /tmp/dump.sql
Vous pouvez entrer dans le conteneur avec docker exec -it myapp_db_1 bash et l'importer avec la commande mysql!
À l'avenir, je pense que ce serait encore mieux si la sauvegarde des données pouvait être automatisée, alors j'aimerais relever le défi!
c'est tout!
Si vous avez des suggestions, je vous serais reconnaissant de bien vouloir commenter!
Recommended Posts