Vamos iniciar a criação da migrate, que será por onde criaremos nossas tabelas.
Vamos começar com um comando no terminal, na mesma pasta da aula passada!
$ sequelize migration:create --name=planets
Ele cria um up e um down já com um exemplo aqui em comentário, nos vamos tirar esse exemplo de comentário, tanto de up quanto de down
Up, serve para fazer fazer alguma ação, nesse caso criar tabelas, o down para você desfazer comentários, por isso eles precisam ser alterados juntos
Vamos primeiro alterar o nome da tabela, que está entre “” de users para planets, depois vamos adicionar mais configurações dentro dos {} onde está inicialmente o id.
up: async (queryInterface, Sequelize) => {
await queryInterface.createTable("planets", { id: Sequelize.INTEGER });
},
down: async (queryInterface, Sequelize) => {
await queryInterface.dropTable("planets");
},
Vamos agora adicionar informações para a nossa tabela, já temos o ID, mas vamos adicionar informações nesse id e também outras informações que queremos ter na tabela.
"use strict";
module.exports = {
up: async (queryInterface, Sequelize) => {
await queryInterface.createTable("planets", {
id: {
type: Sequelize.INTEGER,
autoIncrement: true,
allowNull: false,
primaryKey: true,
},
name: {
type: Sequelize.STRING,
allowNull: false,
},
position: {
type: Sequelize.INTEGER,
allowNull: false,
},
createdAt: {
type: Sequelize.DATE,
},
updatedAt: {
type: Sequelize.DATE,
},
});
},
down: async (queryInterface, Sequelize) => {
await queryInterface.dropTable("planets");
},
};
Agora, iremos dar um comando de terminal para fazer a criação do nosso migrate
$ sequelize db:migrate
E agora você pode verificar no terminal se foi criado com sucesso. Pode também ir ver através do terminal a criação dele, mas caso queira, temos também alternativas visuais, uma delas é o pgAdmin, que você pode baixar e configurar por esse link: https://www.pgadmin.org/
Você vendo através do pgadmin, pode verificar que tem duas tabelas, uma que você criou e outra que se chama SequelizeMeta. Nela estarão os comandos que você deu através do “db:migrate”. Isso serve para controle e também para o comando para desfazer, que caso você queira testar agora, basta digitar
$ sequelize db:migrate:undo
E agora a sua tabela sumiu, mas dando “db:migrate” ela vai voltar ao normal. Isso é útil caso você tenha colocado um item errado. Mas não pode fazer isso depois que já foi para produção.