Skip to content

Instantly share code, notes, and snippets.

@makupi
Last active May 23, 2020 12:35
Show Gist options
  • Save makupi/13e9d6ebde0869e7153b4547888c8cdd to your computer and use it in GitHub Desktop.
Save makupi/13e9d6ebde0869e7153b4547888c8cdd to your computer and use it in GitHub Desktop.
sequelize example (; = / since gists don't allow that apparently)
module.exports = {
development: {
dialect: "sqlite",
storage: "./db.development.sqlite"
},
test: {
dialect: "sqlite",
storage: ":memory:"
},
production: {
username: process.env.DB_USERNAME,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
host: process.env.DB_HOSTNAME,
dialect: 'mysql',
use_env_variable: 'DATABASE_URL'
}
};
"use strict";
var fs = require("fs");
var path = require("path");
var Sequelize = require("sequelize");
var basename = path.basename(__filename);
var env = process.env.NODE_ENV || "development";
var config = require(__dirname + "/config.js")[env];
var __modelsdir = __dirname + "/models";
var db = {};
if (config.use_env_variable) {
var sequelize = new Sequelize(process.env[config.use_env_variable], config);
} else {
var sequelize = new Sequelize(
config.database,
config.username,
config.password,
config
);
}
fs.readdirSync(__modelsdir)
.filter((file) => {
return file.indexOf(".") !== 0 && file.slice(-3) === ".js";
})
.forEach((file) => {
var model = sequelize["import"](path.join(__modelsdir, file));
db[model.name] = model;
});
Object.keys(db).forEach((modelName) => {
if (db[modelName].associate) {
db[modelName].associate(db);
}
});
db.sequelize = sequelize;
db.Sequelize = Sequelize;
module.exports = db;
"use strict";
module.exports = (sequelize, DataTypes) => {
let Character = sequelize.define("Character", {
name: DataTypes.STRING,
race: DataTypes.STRING,
gender: DataTypes.STRING,
});
return Character;
};
var db = require("./database");
db.sequelize.sync().then(() => {
// CREATE
db.Character.create({
name: "TestName" + Math.floor(Math.random() * 1000),
race: "TestRace",
gender: "male",
}).then(() => {
console.log("Character created");
});
// FIND ALL
db.Character.findAll().then((characters) => {
characters.forEach((character) => {
console.log(character.name);
// UPDATE
character.name += "updated?";
character.save();
});
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment