在進行了身份驗證系統的資料庫遷移之後,可以 craft serve
後進入 127.0.0.1:8000 看一下頁面的變化:
點選頁面右上角的 Register 進入到 localhost:8000/register :
隨意註冊一個使用者賬號測試一下:
- Username: demo
- Email: demo@email.com
- Password: Password0000.
註冊後頁面顯示:
在 blog.db 這個資料庫裡可以看到 users 表裡多了一行資料,表示使用者註冊的資料被記載到了資料庫的使用者資料表裡。
接著熟悉一下新的資料庫遷移命令:
(env) $ craft migration create_posts_table --create posts
這時候會生成一個遷移檔案 masapp/databases/migrations/2020_06_07_053843_create_posts_table.py
:
from orator.migrations import Migration
class CreatePostsTable(Migration):
def up(self):
with self.schema.create('posts') as table:
table.increments('id')
table.timestamps()
def down(self):
self.schema.drop('posts')
按照慣例,表名為複數形式,模型為單數形式。
給這個 posts 資料表加欄位:
table.string('title')
table.integer('author_id').unsigned()
table.foreign('author_id').references('id').on('users')
table.string('body')
現在的 masapp/databases/migrations/2020_06_07_053843_create_posts_table.py
檔案內容應該是:
from orator.migrations import Migration
class CreatePostsTable(Migration):
def up(self):
with self.schema.create('posts') as table:
table.increments('id')
table.string('title')
table.integer('author_id').unsigned()
table.foreign('author_id').references('id').on('users')
table.string('body')
table.timestamps()
def down(self):
self.schema.drop('posts')
現在再執行一次遷移命令:
(env) $ craft migrate
本作品採用《CC 協議》,轉載必須註明作者和本文連結