Laravel 5.2: возвращение базы данных Homestead уже возвращает ошибку после переустановки

Я думаю, что я неправильно понимаю, как работает Хомстед. Я хочу индивидуальную установку, но случилось нечто странное. Мои шаги:

  1. Запустите vagrantbox (vagrant up). База данных усадьбы создана. Вверх и работает.
  2. Остановить бродячую коробку (Vagrant Halt)
  3. Удалите окно из клиента VirtualBox.
  4. Беги снова. Конечно, коробку нужно скачать.
  5. Во время процесса "вверх" я получаю сообщение об ошибке:

    createb: сбой при создании базы данных: ОШИБКА: база данных "усадьба" уже существует

Как это возможно? Создает ли vagrant базу данных где-то на моем хост-компьютере и повторно использует ее для разных установок?

Мой хост - это компьютер Mac OS X (El Capitan). Я сгенерировал Vagrantfile с

php vendor/bin/homestead make

Мой Vagrantfile это:

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

И моя усадьба.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

1 ответ

Я обнаружил, что если я ssh'd в машину, мне пришлось вручную запустить следующий сценарий для запуска сценариев миграции.

php ремесленник мигрировать

Не уверен, почему сценарии установки усадьбы не принимают этот сценарий миграции.

Другие вопросы по тегам