Exécution de la migration sur le serveur lors du déploiement avec capistrano
Je suis en train de déployer mon application rails avec capistrano, mais je vais avoir quelques difficultés à faire fonctionner mon migrations. Dans mon environnement de développement je viens d'utiliser sqlite comme ma base de données, mais sur mon serveur de production-je utiliser MySQL.
Le problème est que je veux que les migrations à courir à partir de mon serveur et non pas ma machine locale, comme je ne suis pas en mesure de se connecter à ma base de données à partir d'un emplacement distant.
Mon serveur de configuration:
Un système debian de course ngnix, passager, mysql et un dépôt git.
Quelle est la meilleure façon de le faire?
mise à jour:
Voici mon script de déploiement: (j'ai remplacé mon domaine réel avec example.com)
ensemble :application, "example.com" set :domaine, "example.com" jeu :scm, :git set :référentiel, "[email protected]:project.git" set :use_sudo, false set :deploy_to, "/var/www/exemple.com" rôle :web, domaine rôle :app, domaine rôle :db, "localhost", :primaire => true après "déployer", "déployer:migrer"
Quand je lance le bouchon de déployer, tout fonctionne bien jusqu'à ce qu'il tente d'exécuter la migration.
Voici l'erreur que je reçois:
** [déployer:update_code] exception lors de la restauration: Capistrano::ConnectionError, échec de la connexion: localhost (Errno::ECONNREFUSED: Connexion refusée - connect(2)) échec de la connexion: localhost (Errno::ECONNREFUSED: Connexion refusée - connect(2)))
C'est pourquoi j'ai besoin d'exécuter la migration du serveur et non pas à partir de ma machine locale.
Des idées?
source d'informationauteur Pandafox
Vous devez vous connecter pour publier un commentaire.
Avez-vous ajouté votre déploiement de l'utilisateur comme un utilisateur de mysql sur le serveur? Je pense que le localhost est le serveur se référant à elle-même pas votre machine locale.
Aussi, vous n'avez pas défini votre utilisateur dans votre script de déploiement:
Essayez d'ajouter
dans votre config/deploy.rb fichier. Cela permettra d'exécution d'une migration sur votre serveur lors de la réussite du déploiement de votre projet.