2020年4月13日

Laravel Mirgrate 建立資料庫 (Mac)

以前建立資料庫,很直覺的就是開啟phpMyAdmin,然後資料庫表格設定一下就好了。
沒想到這個年代(好啦,我很老了),都用終端機指令建資料庫。
話不多說了,來指令建立吧。

誒~還是要開phpMyAdmin建立一個資料庫

















第二步,建立資料表,在終端機使用指令
php artisan make:migration create_links_table --create=links

這個指令會在database/migrations/ 新增一個{{datetime}}_create_links_table.php檔案
打開這個檔案,新增幾個欄位




















第三步,終端機上Mirgrate 資料庫
php artisan migrate






這時候,你就可以看到php檔案中的欄位已經幫你在資料庫中建立好了


另外,因為資料庫是新建的,沒有資料在裡面,通常為了測試,都需要自己建立很多資料,這時,migration也幫你做好這一塊了,只要做以下幾個步驟 ,測試資料也會自動幫你新增到資料庫喔。

第一步,終端機指令建立factory file
php artisan make:model --factory Link

然後打開database/factories/LinkFactory.php
加入以下程式碼

$factory->define(App\Link::class, function (Faker $faker) { return [ 'title' => substr($faker->sentence(2), 0, -1), 'url' => $faker->url, 'description' => $faker->paragraph, ]; });

第二步,終端機指令建立seeder
php artisan make:seeder LinksTableSeeder

然後打開database/seeds/LinksTableSeeder.php
加入以下程式碼

public function run() { factory(App\Link::class, 5)->create(); }

第三步,啟動LinkTableSeeder
打開database/seeds/DatabaseSeeder.php
加入以下程式碼

public function run() { $this->call(LinksTableSeeder::class); }

第四步,終端機指令新增測試資料到資料庫中
(注意,資料庫中最好不要有真實資料存在,不然會被清光光
php artisan migrate:fresh --seed

完成!

參考資料:https://laravel-news.com/your-first-laravel-application

MAMP phpMyAdmin access denide (mac)

為了讓laravel 可以 migrate 資料庫到mysql
在終端機下了php artisan migrate
結果報錯:





如字面上的意思,帳號或密碼錯誤
所以到larevel的.env檔以及config資料夾修改database.php資料庫設定













一直以為自己的mamp 資料庫沒有設定密碼,所以laravel資料庫連結密碼當然就一直空著
然後就登登登,一直錯下去
自以為聰明的想說,那我去改phpMyadmin的密碼好了
結果:哇~~成功了,可以migrate了






悲劇也隨之而來,phpMyadmin 連不上去








更改了/Applications/MAMP/bin/phpMyAdmin的config.inc.php
$cfg['Servers'][$i]['password']      = '你的密碼'; 
重啟server後仍然無法成功

只好又去終端機更改mysql帳密
指令:/Applications/MAMP/Library/bin/mysqladmin -u root -p password





先輸入剛剛白目改掉的密碼,再輸入新的密碼,然後再回到config.inc.php改成你的新密碼
登登登,成功,phpMyAdmin又可以用了














改完phpMyAdmin密碼後,仍然需要回到laravel修改.env及database.php的資料庫連結設定

完成!

2020年4月10日

重啟部落格

沉淺那麼長一段時間,物換星移,人事已非
6年之間很多技術已經更新
雖然換湯不換藥
基礎概念不變,但是屋子已經利用不同工法重蓋了多次
這期間
手機技術不斷更新
網路應用更加廣泛
由原本的PHP更換到了Python
windows換到了mac

很久沒寫文章,退步了
所以想利用這次Python學習喚醒自己的文青精神
希望持續的下去😣