我认为我误解了Homestead的工作方式。我想要per project installation,但发生了一些奇怪的事情。我的步骤是:
在" up"过程中,我收到错误:
createdb:数据库创建失败:错误:数据库"宅基地"已存在
怎么可能? vagrant是否在我的主机中的某个位置创建数据库并将其重新用于不同的安装?
我的主机是Mac OS X机器(El Capitan)。我使用
生成了Vagrantfilecurl -X GET 'http://localhost:9200/foo/_search' -d '
{
"query": {
"bool" :
{
"must" :
{
"query" : {
"match" :
{
"_all":
{
"query" : "test"
}
}
}
},
"filter":
{
"bool":
{
"should":
[{
"bool" : {
'must':
[{
"type":
{
"value": "media"
}
},
{
'bool':
{
"should" : [
{ "term" : {"UID" : 2}},
{ "term" : {"type" : "public"}}
]
}
}]
}
},
{
"bool" : {
"should" : [
{ "type" : {"value" : "group"}},
{ "type" : {"value" : "user"}}
]
}
}]
}
}
}
}
}'
我的Vagrantfile是:
php vendor/bin/homestead make
和我的Homestead.yaml
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
答案 0 :(得分:1)
我发现如果我进入机器,我必须手动运行以下脚本来运行迁移脚本。
php artisan migrate
不确定宅基地安装脚本为何没有启动此迁移脚本。