Erreur lors du déploiement automatique avec Capistrano lors du développement de l'équipe avec Rails
Que faire lorsque "Mysql2 :: Error: Table '~' existe déjà: CREATE TABLE ~
"apparaît.
Traduit littéralement, c'est impossible car il y a déjà une table.
L'essentiel est la mise au rebut et la construction de la base de données. Vous deviez devenir Shiva, le dieu de l'imagination et de la destruction.
Je vais le faire sérieusement. .. .. Tout d'abord, connectez-vous en SSH depuis le terminal et connectez-vous à AWS. Après vous être connecté, connectez-vous à mysql et jetez un œil au contenu.
[ec2-user@]$ mysql -u root -p
#mot de passe mysql
Enter password:
Une fois dans mysql, jetez un œil à la base de données de production.
mysql> show databases;
+----------------------------------+
| Database |
+----------------------------------+
| information_schema |
| sample_production |
| mysql |
| performance_schema |
+----------------------------------+
mysql> show tables from sample_production;
+--------------------------------------------+
| Tables_in_sample_production |
+--------------------------------------------+
| ar_internal_metadata |
| schema_migrations |
| user_addresses |
| users |
+--------------------------------------------+
Supprimez-le avec la commande drop.
mysql> drop database sample_production;
mysql> exit
Déplacez le répertoire et créez la base de données.
$ cd /var/www/nom de l'application/current
[ec2-user@ current]$ rails db:create RAILS_ENV=production;
#Si nécessaire, ici aussi
[ec2-user@ current]$ rails db:migrate RAILS_ENV=production;
plus tard, bundle exec cap production deploy Et c'est fait.
Merci beaucoup! !!
Recommended Posts