laravel切換數(shù)據(jù)庫并創(chuàng)建數(shù)據(jù)庫

寫之前先放上代碼截圖片段和注釋,僅供參考,下面會有解析:

代碼截圖


新建數(shù)據(jù)庫

在laravel中,連接MySQL數(shù)據(jù)庫,并新建一個要切換的數(shù)據(jù)庫,用mysql_connect會報錯,換成下面方式:

$link = mysqli_connect('localhost', 'root', 'password');

mysqli_query($link, "CREATE DATABASE test");

mysqli_close($link);

切換數(shù)據(jù)庫

Config::set('database.connections.mysql.database', 'test');

DB::reconnect('mysql');

數(shù)據(jù)庫遷移建表

Artisan::call('migrate:refresh', ['--force' => true,]);

報錯如下:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'database.migrate' doesn't exist (SQL: select * from `permissions`)

解決方法:在建表語句前初始化 migrate? 因為新建的數(shù)據(jù)庫沒有migrate表,所以沒法執(zhí)行refresh。

Artisan::call('migrate:install');

Artisan::call('migrate:refresh', ['--force' => true,]);

選擇自己需要遷移的文件:

Artisan::call('migrate', ['--path' => 'database/migrations/test',]);

或者:

Artisan::call('migrate', array('--path' => 'database/migrations'));

我自己剛學(xué)laravel,用了差不多一個禮拜才完成這些,希望可以幫助一些初學(xué)的朋友。

注:以上操作在代碼中完成,不是命令行操作?。?/i>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容