91 lines
2.6 KiB
TypeScript
91 lines
2.6 KiB
TypeScript
import { Order } from '../models/ordering/order.model'
|
|
import { OrderItem } from '../models/ordering/orderItem.model'
|
|
import { Account } from '../models/user/account.model'
|
|
import { Address } from '../models/user/address.model'
|
|
import { Payment } from '../models/user/payment.model'
|
|
import { AccountRole } from '../models/user/accountRole.model'
|
|
import { Rating } from '../models/acts/rating.model'
|
|
import { Member } from '../models/acts/member.model'
|
|
import { Genre } from '../models/acts/genre.model'
|
|
import { Band } from '../models/acts/band.model'
|
|
import { Location } from '../models/acts/location.model'
|
|
import { Show } from '../models/acts/show.model'
|
|
import { Tour } from '../models/acts/tour.model'
|
|
import { City } from '../models/acts/city.model'
|
|
|
|
import accounts from "./../data/accounts.json"
|
|
import orders from "./../data/orders.json"
|
|
import orderItems from "./../data/orderItems.json"
|
|
import accountRoles from "./../data/accountRoles.json"
|
|
import bands from "./../data/bands.json"
|
|
import genres from "./../data/genres.json"
|
|
import tours from "./../data/tours.json"
|
|
import cities from "./../data/cities.json"
|
|
|
|
|
|
/**
|
|
* Delete all datasets in every database table
|
|
*/
|
|
export function deleteAllTables() {
|
|
OrderItem.destroy({truncate: true })
|
|
Order.destroy({ truncate: true })
|
|
|
|
Rating.destroy({ truncate: true })
|
|
Member.destroy({ truncate: true })
|
|
Genre.destroy({ truncate: true })
|
|
Band.destroy({ truncate: true })
|
|
Location.destroy({ truncate: true })
|
|
Show.destroy({ truncate: true })
|
|
|
|
Address.destroy({ truncate: true })
|
|
Payment.destroy({ truncate: true })
|
|
Account.destroy({ truncate: true })
|
|
AccountRole.destroy({ truncate: true})
|
|
}
|
|
|
|
/**
|
|
* Insert default datasets in the database tables
|
|
*/
|
|
export async function prepopulateDatabase() {
|
|
AccountRole.bulkCreate(accountRoles.data)
|
|
Genre.bulkCreate(genres.data)
|
|
|
|
for (let city of cities.data) {
|
|
await City.create(city)
|
|
.then(dataset => {
|
|
Location.bulkCreate(city.locations)
|
|
})
|
|
}
|
|
|
|
|
|
// Account & Sub tables
|
|
for (let account of accounts.data) {
|
|
await Account.create(account)
|
|
.then(dataset => {
|
|
Address.bulkCreate(account.addresses)
|
|
Payment.bulkCreate(account.payments)
|
|
})
|
|
}
|
|
|
|
|
|
for(let band of bands.data) {
|
|
await Band.create(band)
|
|
.then(dataset => {
|
|
Rating.bulkCreate(band.ratings)
|
|
Member.bulkCreate(band.members)
|
|
})
|
|
}
|
|
|
|
|
|
for (let tour of tours.data) {
|
|
await Tour.create(tour)
|
|
.then(async dataset => {
|
|
for (let show of tour.shows) {
|
|
await Show.create(show)
|
|
}
|
|
})
|
|
}
|
|
|
|
Order.bulkCreate(orders.data)
|
|
OrderItem.bulkCreate(orderItems.data)
|
|
} |