Aula 07 – Golang – Fiber – Migrations

Aula 07 – Golang – Fiber – Migrations

Voltar para página principal do site

Todas as aulas desse curso

Aula 06                                               Aula 08

Fiber

Fiber

Pacote Programador Fullstack

Pacote Programador Fullstack

Redes Sociais:

facebook              

 

Link para a Digital Innovation

Quer aprender python3 de graça e com certificado? Acesse então:

workover

Meus link de afiliados:

Hostinger

Digital Ocean

One.com

Código da aula: Github

Melhore seu NETWORKING

Participe de comunidades de desenvolvedores:

Fiquem a vontade para me adicionar ao linkedin.

E também para me seguir no GITHUB.

Canais do Youtube

Toti

Backing Track / Play-Along

Código Fluente

Putz!

Vocal Techniques and Exercises

PIX para doações

PIX Nubank

PIX Nubank


Aula 07 – Golang – Fiber – Migrations

Na aula passada criamos a estrutura que vai representar um usuário, isto é, a struct User.

O banco de dados está vazio, vamos criar a tabela User no banco, e para isso, vamos usar o Gorm.

fiber-project/database/connect.go  


package database

import (
	"fmt"

	"gorm.io/driver/mysql"
	"gorm.io/gorm"
        "fiber-project/models"
)

func Connect() {
	var dsn = "toticavalcanti:mysql1234@/fluent_admin?charset=utf8mb4&parseTime=True&loc=Local"
	var v = "Não conseguiu conectar ao banco de dados"
	connection, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})

	if err != nil {
		panic(v)
	}

        connection.AutoMigrate(&models.User{})
	fmt.Println("Conexão OK!")
}

Se o projeto não estiver rodando, execute o air, que instalamos na aula passada.

Veja no banco mysql, que a tabela foi criada.

Agora vamos fazer com que o campo email seja único.

Usaremos o uma anotação do Gorm para isso.

fiber-project/models/user.go  


package models

type User struct {
    Id uint
    FirstName string
    LastName string
    Email string `gorm:"unique"`
    Password string
}

Dê um refresh no banco mysql e veja a mudança no campo email.

Essa é a forma como adicionamos configurações extras, poderíamos usar o gorm.Model.

fiber-project/models/user.go  


package models

import "gorm.io/gorm"
type User struct {
    gorm.Model
    FirstName string
    LastName string
    Email string `"unique"`
    Password string
}

O gorm.Model gera vários campos automaticamente, o ID, o CreatedAt, o UpdatedAt e DeletedAt.

Se você quiser, pode usar, eu vou manter o mais simples, e deixar como tava antes.

É isso, na próxima aula vamos refatorar a função Register() no arquivo fiber-project/controllers/authController.go.

Nos vemos na próxima então 😉

Até lá!

Código da aula: Github

Voltar para página principal do blog

Todas as aulas desse curso

Aula 06                                               Aula 08

Redes Sociais:

facebook          

Novamente deixo meus link de afiliados:

Hostinger

Digital Ocean

One.com

Obrigado, até a próxima e bons estudos. 😉

 

About The Author
-

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>