Skip to content

Commit

Permalink
added a todo-list app as well that is the best intro implementation o…
Browse files Browse the repository at this point in the history
…f sequelize I can manage
  • Loading branch information
ajbraus committed Apr 10, 2021
1 parent 32d5e99 commit 015031e
Show file tree
Hide file tree
Showing 7 changed files with 2,151 additions and 0 deletions.
5 changes: 5 additions & 0 deletions todo-list/db/config/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"production": {
"use_env_variable": "DATABASE_URL"
}
}
28 changes: 28 additions & 0 deletions todo-list/db/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
'use strict';

const Sequelize = require('sequelize');
const TodoModel = require('./models/todo.js');
const UserModel = require('./models/user.js');

const sequelize = new Sequelize({
dialect: 'sqlite',
store: ':memory'
});

const Todo = TodoModel(sequelize, Sequelize);
const User = UserModel(sequelize, Sequelize);

Todo.belongsTo(User, {
as: 'author'
});

User.hasMany(Todo, {
foreignKey: 'authorId'
});

module.exports = {
sequelize,
Sequelize,
Todo,
User
}
15 changes: 15 additions & 0 deletions todo-list/db/models/todo.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
'use strict';

module.exports = (sequelize, DataTypes) => {
const Todo = sequelize.define('todos', {
title: {
type: DataTypes.STRING,
allowNull: false
},
content: {
type: DataTypes.TEXT
}
});

return Todo;
};
21 changes: 21 additions & 0 deletions todo-list/db/models/user.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
'use strict';

module.exports = (sequelize, DataTypes) => {
const User = sequelize.define('user', {
firstName: {
type: DataTypes.STRING,
allowNull: false
},
lastName: {
type: DataTypes.STRING,
allowNull: false
},
email: {
type: DataTypes.STRING,
allowNull: false,
unique: true
}
});

return User;
};
Loading

0 comments on commit 015031e

Please sign in to comment.