diff --git a/backend/migrations/20190415113534-create-organisasi.js b/backend/migrations/20190415113534-create-organisasi.js new file mode 100644 index 0000000000000000000000000000000000000000..08f2cab714047cdb2b41c72826750efee3449dbe --- /dev/null +++ b/backend/migrations/20190415113534-create-organisasi.js @@ -0,0 +1,30 @@ +'use strict'; +module.exports = { + up: (queryInterface, Sequelize) => { + return queryInterface.createTable('organisasis', { + id: { + allowNull: false, + autoIncrement: true, + primaryKey: true, + type: Sequelize.INTEGER + }, + name: { + type: Sequelize.STRING + }, + jenis: { + type: Sequelize.STRING + }, + createdAt: { + allowNull: false, + type: Sequelize.DATE + }, + updatedAt: { + allowNull: false, + type: Sequelize.DATE + } + }); + }, + down: (queryInterface, Sequelize) => { + return queryInterface.dropTable('organisasis'); + } +}; \ No newline at end of file diff --git a/backend/migrations/20190415115145-associate-user-organisasi.js b/backend/migrations/20190415115145-associate-user-organisasi.js new file mode 100644 index 0000000000000000000000000000000000000000..3d92325f9da46e8d1ca90b1946f68066d04fd3c7 --- /dev/null +++ b/backend/migrations/20190415115145-associate-user-organisasi.js @@ -0,0 +1,19 @@ +'use strict'; + +module.exports = { + up: (queryInterface, Sequelize) => { + return queryInterface.addColumn('users', 'organisasiId', { + type: Sequelize.INTEGER, + references: { + model: 'organisasis', + key: 'id' + }, + onUpdate: 'CASCADE', + onDelete: 'SET NULL' + }); + }, + + down: (queryInterface, Sequelize) => { + return queryInterface.removeColumn('users', 'organisasiId'); + } +}; diff --git a/backend/models/organisasi.js b/backend/models/organisasi.js new file mode 100644 index 0000000000000000000000000000000000000000..d1dff0a986ff47e9c9bd2e204bed1baf2acd1f16 --- /dev/null +++ b/backend/models/organisasi.js @@ -0,0 +1,11 @@ +'use strict'; +module.exports = (sequelize, DataTypes) => { + const organisasi = sequelize.define('organisasi', { + name: DataTypes.STRING, + jenis: DataTypes.STRING + }, {}); + organisasi.associate = function(models) { + // associations can be defined here + }; + return organisasi; +}; \ No newline at end of file diff --git a/backend/models/user.js b/backend/models/user.js index 93a0213c96ea87f5229c267fad3f88d595e48e73..cc5cdb758733b72bfe6e5b0a59d6e7658861d366 100644 --- a/backend/models/user.js +++ b/backend/models/user.js @@ -8,6 +8,7 @@ module.exports = (sequelize, DataTypes) => { }, {}); user.associate = function(models) { models.user.belongsTo(models.role); + models.user.belongsTo(models.organisasi); }; return user; }; \ No newline at end of file