繼昨日的挫敗,我決定今天就來研究一下資料庫遷移了![]()
原本都習慣要先到phpmyadmin建好資料表,
結果發現laravel是要用make artisan migrate,
先到database\migrations\..設定好資料結構
再下migrate指令,就可以了
這樣一來在搬移主機等過程中,也會比較輕鬆。
要開始建立東西就是要打開cmd,
我第一次跟cmd這麼熟哈哈
第一次這麼頻繁的使用cmd,也第一次知道cmd可以這樣用
建立遷移檔要用使用 Artisan 的 migrate:make 命令建立遷移檔:
php artisan migrate:make create_users_table
在昨天的Day13 【Laravel 學習歷程】- 建立Model模型(上)以及
Day15 【Laravel 學習歷程】- 建立Laravel Authentication認證登入中有提到一點,
而那個方式是建立model的時候同步建立遷移檔php artisan make:model Role --migration建立完遷移檔進入
database\migrations找到建立的table
進去那裏面要做什麼後面會說哈哈
然後再cmd一個php artisan migrate就會幫你把資料表遷移填充上去指定的db了
遷移檔會建立在 app/database/migrations 目錄下,
檔名會包含時間戳記,在執行遷移時用來決定順序。
你也可以在建立遷移命令加上 --path 參數。路徑要相對於應用程式所在的根目錄。
php artisan migrate:make foo --path=app/migrations
--table 和 --create 參數可以用來指定資料表名稱,以及遷移檔是否要建立新的資料表。
php artisan migrate:make add_votes_to_user_table --table=users
or
php artisan migrate:make create_users_table --create=users
當我資料結構也都設定完成了,要怎麼把遷移檔同步上去餒?
這個時候一樣再度打開cmd下指令
php artisan migrate
他會把所有未完成遷移的資料都遷移到指定DB
還有一種是,設定只遷移特定路徑的未遷移資料就好
php artisan migrate --path=app/foo/migrations
喔這個太厲害了,居然還可以推回遷移
這個我完全需要學起來
狀態一:推回上一次的遷移
php artisan migrate:rollback
狀態二:推回所有遷移
php artisan migrate:reset
狀態三:推回所有遷移並且再執行一次
php artisan migrate:refresh
或者加上--seed
php artisan migrate:refresh --seed
明天來實作試試看了哈哈![]()