2016-04-11 4 views
2

Ich glaube, ich missverstanden die Art und Weise Homestead funktioniert. Ich möchte eine per project installation, aber etwas Seltsames passiert ist. Meine Schritte sind:Laravel 5.2: Homestead Bereitstellung zurückgibt Datenbank bereits vorhanden Fehler nach der Neuinstallation

  1. Führen Sie vagrantbox (Vagrant herauf). Datenbank-Heimstätte wird erstellt. Up & läuft.
  2. Halt der vagrantbox (vagrant halt)
  3. die Box von VirtualBox Client löschen.
  4. Führen Sie den Landstreicher wieder auf. Natürlich muss die Box heruntergeladen werden.
  5. Während der "up" Prozess, erhalte ich die Fehlermeldung:

    createdb: Erstellung der Datenbank fehlgeschlagen: ERROR: Datenbank "Heimstätte" existiert bereits

Wie ist es möglich? Erstellt der Landstreicher die Datenbank irgendwo auf meiner Host-Maschine und verwendet sie für verschiedene Installationen?

Mein Host ist eine Mac OS X-Maschine (El Capitan). Ich erzeugt die Vagrantfile mit

php vendor/bin/homestead make 

Mein Vagrantfile ist:

require 'json' 
require 'yaml' 

VAGRANTFILE_API_VERSION ||= "2" 
confDir = $confDir ||= File.expand_path("vendor/laravel/homestead", File.dirname(__FILE__)) 

homesteadYamlPath = "Homestead.yaml" 
homesteadJsonPath = "Homestead.json" 
afterScriptPath = "after.sh" 
aliasesPath = "aliases" 

require File.expand_path(confDir + '/scripts/homestead.rb') 

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 
    if File.exists? aliasesPath then 
     config.vm.provision "file", source: aliasesPath, destination: "~/.bash_aliases" 
    end 

    if File.exists? homesteadYamlPath then 
     Homestead.configure(config, YAML::load(File.read(homesteadYamlPath))) 
    elsif File.exists? homesteadJsonPath then 
     Homestead.configure(config, JSON.parse(File.read(homesteadJsonPath))) 
    end 

    if File.exists? afterScriptPath then 
     config.vm.provision "shell", path: afterScriptPath 
    end 
end 

Und mein Homestead.yaml

--- 
ip: "192.168.10.10" 
memory: 2048 
cpus: 1 
hostname: laraveltest 
name: laraveltest 
provider: virtualbox 

authorize: ~/.ssh/id_rsa.pub 

keys: 
    - ~/.ssh/id_rsa 

folders: 
    - map: "/Users/jorge/Dev/laraveltest" 
     to: "/home/vagrant/laraveltest" 

sites: 
    - map: homestead.app 
     to: "/home/vagrant/laraveltest/public" 

databases: 
    - homestead 

# blackfire: 
#  - id: foo 
#  token: bar 
#  client-id: foo 
#  client-token: bar 

# ports: 
#  - send: 50000 
#  to: 5000 
#  - send: 7777 
#  to: 777 
#  protocol: udp 
+0

freue mich auf eine Antwort, da ich das gleiche Problem habe. – Gunnar

Antwort

1

Ich fand, dass, wenn ich in die Maschine ssh'd, musste ich Führen Sie das folgende Skript manuell aus, um die Migrationsskripts auszuführen.

php Handwerkers wandern

nicht sicher, warum die Heimstätte Installationsskripts sind nicht diese Migration Skript aufnimmt.