Masonite 熟悉步驟小記錄 (三、資料庫遷移)

Galois發表於2020-06-07

在進行了身份驗證系統的資料庫遷移之後,可以 craft serve 後進入 127.0.0.1:8000 看一下頁面的變化:

AVY4YM0ViA.png!large

點選頁面右上角的 Register 進入到 localhost:8000/register

ShMYMSLLUk.png!large

隨意註冊一個使用者賬號測試一下:

註冊後頁面顯示:

4hzbPBm7aM.png!large

資料庫遷移詳情

在 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 協議》,轉載必須註明作者和本文連結
不要試圖用百米衝刺的方法完成馬拉松比賽。

相關文章