MIGRATION Cơ bản CA 03 / 08

Migrate chạy mỗi lần khởi động, sao không lỗi?

Hệ thống đặt phòng họp công ty:

func Migrate(db *sql.DB) error {
    _, err := db.Exec(`CREATE TABLE IF NOT EXISTS bookings (...)`)
    return err
}

Hàm Migrate chạy MỖI LẦN server khởi động, không chỉ lần đầu. Vì sao không lỗi khi bảng đã tồn tại từ lần chạy trước?