{"id":19408580,"url":"https://github.com/4lessandrodev/sequelize","last_synced_at":"2025-06-11T00:06:06.544Z","repository":{"id":47858118,"uuid":"261866476","full_name":"4lessandrodev/sequelize","owner":"4lessandrodev","description":"NodeJS, JavaScript, Express: Passsos para criar um projeto padrão NodeJS com sequelize","archived":false,"fork":false,"pushed_at":"2021-08-12T09:54:31.000Z","size":235,"stargazers_count":3,"open_issues_count":6,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-24T10:42:19.753Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/4lessandrodev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-06T20:04:09.000Z","updated_at":"2020-05-30T13:05:56.000Z","dependencies_parsed_at":"2022-09-01T17:11:03.648Z","dependency_job_id":null,"html_url":"https://github.com/4lessandrodev/sequelize","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4lessandrodev%2Fsequelize","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4lessandrodev%2Fsequelize/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4lessandrodev%2Fsequelize/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4lessandrodev%2Fsequelize/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/4lessandrodev","download_url":"https://codeload.github.com/4lessandrodev/sequelize/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4lessandrodev%2Fsequelize/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259172962,"owners_count":22816558,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T12:06:36.170Z","updated_at":"2025-06-11T00:06:06.502Z","avatar_url":"https://github.com/4lessandrodev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Criando um projeto padrão com sequelize\n## Passos\n\n## Siga: \n\n* Iniciar o projeto express-generator na pasta local\n\n```\nexpress nome_do_projeto --ejs\n```\n\n* Instalar as dependências padrão do express generator\n\n```\nnpm install\n``` \n\n* Agora instalar as dependências que iremos utilizar\n\n```\nnpm install express mysql2 sequelize dotenv\n```\n\n```\nnpm install nodemon sequelize-cli -D\n```\n\n* criar arquivos na raiz do projeto .env e .gitignore\n\nno arquivo .env colocar as variáveis com os valores de acordo com seu ambiente Dev\n\n```\nDB_USER=\nDB_PASS=\nDB_NAME=\nDB_HOST=127.0.0.1\nDB_PORT=3306\n```\n\n* No arquivo .gitignore ignorar os seguintes arquivos \n\n```\n/node_modules \n.env\n```\n\n* Criar as seguintes pastas na raiz do projeto\n\n```\nmodels\ncontrollers\nconfig\n```\n\n* dentro da pasta config criar o arquivo database.js e colocar o código de conexão do banco \n\n```\nrequire('dotenv').config()\n```\n\n```\nmodule.exports = {\nusername:process.env.DB_USER,\npassword:process.env.DB_PASS,\ndatabase:process.env.DB_NAME,\nhost:process.env.DB_HOST,\ndialect:\"mysql\"\n}\n```\n\n* Dentro da pasta models criar um arquivo chamado index.js\n* Colocar as configurações conforme abaixo:\n* Ou você pode usar o comando: \n\n```\nnpx sequelize init:models\n```\n\n\u003e Obs.: Se você utilizar o comando lembrar de corrigir as linhas \"const config = require('../config/database');\" e \n\u003e \"sequelize = new Sequelize(process.env[config.use_env_variable], config);\" Tirando o \"[env]\" e passando o caminho de sua conexão com banco de dados \n\n```\n'use strict';\nconst fs = require('fs');\nconst path = require('path');\nconst Sequelize = require('sequelize');\nconst basename = path.basename(__filename);\nconst env = process.env.NODE_ENV || 'development';\nconst config = require('../config/database');\nconst db = {};\n```\n\n```\nlet sequelize;\nif (config.use_env_variable) {\n    sequelize = new Sequelize(process.env[config.use_env_variable], config);\n} else {\n    sequelize = new Sequelize(config.database, config.username, config.password, config);\n}\nfs\n    .readdirSync(__dirname)\n    .filter(file =\u003e {\n        return (file.indexOf('.') !== 0) \u0026\u0026 (file !== basename) \u0026\u0026 (file.slice(-3) === '.js');\n    })\n    .forEach(file =\u003e {\n        const model = sequelize['import'](path.join(__dirname, file));\n        db[model.name] = model;\n    });\nObject.keys(db).forEach(modelName =\u003e {\n    if (db[modelName].associate) {\n        db[modelName].associate(db);\n    }\n});\ndb.sequelize = sequelize;\ndb.Sequelize = Sequelize;\nmodule.exports = db;\n```\n\n\n* Na Raiz do projeto criar o arquivo .sequelizerc e colocar o seguinte código \n\n```\nconst path = require(\"path\");\nmodule.exports = {\n    config: path.resolve(\"config\",\"database.js\"),\n    models: path.resolve(\"models\"),\n}\n```\n\n\n* Dentro de models criar um arquivo js\n\u003e Em nosso exemplo vamos criar um arquivo de Usuario.js\n* Dentro de Usuario.js usar o código abaixo como modelo \n\u003e Lembrando que devemos ter essa tabela em nosso banco de dados\n------------------------------------------------------------------------------------------\n\n\n```\nconst Usuario = (sequelize, DataTypes) =\u003e {\n    let usuario = sequelize.define(        \n        'Usuario',\n        {\n            id_usuario: {          \n                type: DataTypes.INTEGER,\n                primaryKey: true,\n                autoIncrement: true,\n                allowNull: true\n            },\n            nome: {     \n                type: DataTypes.STRING,\n                allowNull: true\n            },\n            email: {     \n                type: DataTypes.STRING,\n                allowNull: true\n            },\n            senha: {     \n                type: DataTypes.STRING,\n                allowNull: true\n            }\n        },\n        {     \n            tableName: \"usuario\",      \n            timestamps: false\n        }   \n    )  \n    usuario.associate = (models) =\u003e {    \n        //usuario.hasMany(models.Endereco, { foreignKey: 'fk_usuarios', as: 'enderecos' });\n        //usuario.hasMany(models.Pedido, { foreignKey: 'fk_usuarios', as: 'pedidos' });\n    };\nreturn usuario;\n}\nmodule.exports = Usuario;\n```\n\n\n* Para rodar o teste \n* Criar uma pasta na raiz do projeto chamada testes;\n* Dentro desta criar um arquivo chamado usuarioTeste.js e colocar o seguinte código\n\n```\nconst { sequelize, Usuario } = require('../models');\nUsuario.findAll().then(\n    data =\u003e {\n        console.log(data.map( u =\u003e u.toJSON()));\n        sequelize.close();\n    }\n)\n```\n\n\n* Para rodar o teste basta executar\n\n* node testes/usuarioTeste.js\n\nReferências de código padrão:\n\n* [CODIGO]https://github.com/ALESSANDROLMENEZES/sequelize","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4lessandrodev%2Fsequelize","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F4lessandrodev%2Fsequelize","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4lessandrodev%2Fsequelize/lists"}