一、新建的 laravel 工程,最快创建 mysql 数据库的方法

homestead 虚拟机中,vim ~/.bashrc ,添加如下代码:

function dbcreate() {
    echo "CREATE DATABASE IF NOT EXISTS $1 CHARACTER SET utf8 COLLATE utf8_unicode_ci" | mysql --user="homestead" --password="secret"
}
# dbname 为你要创建的数据库的名称
dbcreate dbname

二、任何位置直接 ssh 登录 homestead

vi ~/.bashrc ,添加下面一行:

alias vm="ssh vagrant@127.0.0.1 -p 2222"

bash命令行任何位置,可以直接 输入 vm 登录

三、Homestead.yaml 添加新站点后,重载生效

我们在 Homestead.yaml 中配置新站点,做了文件夹映射,添加了数据库后,可以通过 vagrant provision 生效。以下的方法,就可以做到在任意目录下执行:

vi ~/.bashrc ,添加下面一行:

alias vmpr="vagrant provision $(vagrant global-status |grep Homestead |awk '{print $1}')"

bash命令行任何位置,可以直接 输入 vmpr ,Homestead.yml 配置会新配置生效。

删除多余动作

不使用postgres 数据库,删除新建 postgres 数据库的脚本。
不用composer selfupdate 太慢,去掉。如果需要更新composer,请看 如何安装-Composer

diff --git a/scripts/homestead.rb b/scripts/homestead.rb
index e48d712..5bf9bce 100644
--- a/scripts/homestead.rb
+++ b/scripts/homestead.rb
@@ -226,12 +226,6 @@ class Homestead
                     s.args = [db]
                 end

-                config.vm.provision "shell" do |s|
-                    s.name = "Creating Postgres Database: " + db
-                    s.path = scriptDir + "/create-postgres.sh"
-                    s.args = [db]
-                end
-
                 if settings.has_key?("mongodb") && settings["mongodb"]
                     config.vm.provision "shell" do |s|
                         s.name = "Creating Mongo Database: " + db
@@ -266,13 +260,6 @@ class Homestead
             end
         end

-        # Update Composer On Every Provision
-        config.vm.provision "shell" do |s|
-            s.name = "Update Composer"
-            s.inline = "sudo /usr/local/bin/composer self-update && sudo chown -R vagrant:vagrant /home/vagrant/.composer/"
-            s.privileged = false
-        end
-
         # Configure Blackfire.io
         if settings.has_key?("blackfire")
             config.vm.provision "shell" do |s|

React Native 如何区分系统平台,动态加载组件

Android 平台下, React Native WebView 的官方组件,无法上传文件,<input type = "file"> 不能打开文件对话框,需要自己监听事件去扩展。 幸好这里有...

阅读全文

javascript的Array.map,如何使用async, await异步

Array.map 是高阶函数,函数参数是同步的,非异步,如果内部异步调用,可以这样处理: // 获取用户信息 data = data.map((item) => { // 异步的调用 通...

阅读全文

Laravel dingo,HTTP的请求头(accept)无法携带版本号的解决方法

使用 Laravel dingo 做api开发时,涉及 API 的多版本控制,dingo 允许在 HTTP请求的 header [Accept] 中,指定版本号。形式如 application/vnd.subtype.v2+js...

阅读全文

欢迎留言