How do you delete a table in dynamoose?
For example is there a Model.deleteTable()
function?
I suggest creating a small module where you add additional configuration for your dynamoose import.
const dynamo = require('dynamoose')
const constants = require('../constants')
let oldModelFunction = dynamo.model
dynamo.model = function () {
let compiledModel = oldModelFunction.apply(this, arguments)
let name = compiledModel.$__.name
compiledModel.modelName = name.toLowerCase()
// Add deleteTable method
compiledModel.deleteTable = () => {
return new Promise((resolve, reject) => {
dynamo.ddb().deleteTable({ TableName: compiledModel.$__.name }, (err, resp) => {
if (err) reject(err)
else resolve(resp)
})
})
}
return compiledModel
}
module.exports = dynamo
You can then create a model and use it like so:
const dynamo = require('./mydynamoose')
const Schema = dynamo.Schema
let UserSchema = new Schema({
username: String,
name: String,
age: Number
})
const User = dynamo.model("User", UserSchema)
User.deleteTable().then(res => {
// Check response
}).catch(err => {
console.log(err)
})