-
Notifications
You must be signed in to change notification settings - Fork 0
Database Commands
database all related setup and commands
create database databasename; create user username with encrypted password '«password»'; grant all privileges on database databasename to username;
or
CREATE USER WITH DATABASE DATABASENAME CREATEDB; CREATE DATABASE WITH OWNER USERNAME;
npx sequelize init npx dotenv sequelize db:migrate npx dotenv sequelize db:migrate:undo:all npx dotenv sequelize db:seed:all npx dotenv sequelize db:seed:undo:all
npx sequelize model:generate --name User --attributes username:varchar,password:string,emailAddress:varchar
npx sequelize model:generate --name Movie --attributes title:varchar,image:varchar,year:integer,cast:varchar,plot:text
npx sequelize model:generate -name Review --attributes review:text,rating:numeric,user_Id:integer,movie_Id:integer
npx sequelize model:generate -name Watchlist --attributes watchstatus:varchar,user_Id:integer
npx sequelize model:generate -name WatchlistJoinMovie --attributes movie_Id:integer,watchlist_Id:integer
npx sequelize seed:generate --name Users npx sequelize seed:generate --name Movies npx sequelize seed:generate --name Reviews npx sequelize seed:generate --name Watchlists npx sequelize seed:generate --name WatchlistJoinMovies
example model set up 'use strict'; module.exports = (sequelize, DataTypes) => { const User = sequelize.define('User', { username: { allowNull: false, type: DataTypes.STRING(100), unique: true }, password: { allowNull: false, type: DataTypes.STRING.BINARY }, emailAddress: { allowNull: false, unique: true, type: DataTypes.STRING(100), unique: true }, }, {}); User.associate = function(models) { User.hasMany(models.Watchlist, { foreignKey: 'user_Id' }); User.hasMany(models.Review, { foreignKey: 'user_Id' }); };
return User; };
Association:
User User.hasMany(models.Watchlist, { foreignKey: 'user_Id' }); User.hasMany(models.Review, { foreignKey: 'user_Id' });
Movie const columnMapping = { foreignKey: 'movieId', through: 'WatchlistJoinMovie', otherKey: 'watchlist_Id' } Movie.belongsToMany(models.Watchlist, columnMapping)
Movie.hasMany(models.Review, {foreignKey: 'movie_Id'})
Review Review.belongsTo(models.User, { foreignKey: 'user_Id'}) Review.belongsTo(models.Movie, { foreignKey: 'movie_Id'})
Watchlist Watchlist.belongsTo(model.User, {foreignKey: 'user_Id'})
const columnMapping = { foreignKey: 'watchlist_Id' through: 'WatchlistJoinMovies' otherKey: 'movie_Id' } Watchlist.belongsToMany(models.Movie, columnMapping)
WatchlistJoinMovies *currently no associations