educt-server/build/database/migrations/1627300211260_courses.js
2022-06-12 22:05:55 +03:00

46 lines
1.9 KiB
JavaScript

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const Schema_1 = __importDefault(global[Symbol.for('ioc.use')]("Adonis/Lucid/Schema"));
const CourseStatusEnum_1 = __importDefault(global[Symbol.for('ioc.use')]("App/Datatypes/Enums/CourseStatusEnum"));
class Courses extends Schema_1.default {
constructor() {
super(...arguments);
Object.defineProperty(this, "tableName", {
enumerable: true,
configurable: true,
writable: true,
value: 'courses'
});
}
async up() {
this.schema.createTable(this.tableName, table => {
table.string('id', 21).primary();
table.json('image');
table.string('title').notNullable();
table.string('description').notNullable();
table.string('education_description', 250);
table.string('teacher_id', 21).unsigned().references('users.id').notNullable().onDelete('CASCADE');
table.string('category_id', 21).unsigned().references('categories.id').notNullable().onDelete('CASCADE');
table.integer('color_id').unsigned().references('colors.id');
table
.enu('status', Object.values(CourseStatusEnum_1.default), {
useNative: true,
enumName: 'course_status_enum',
existingType: false,
schemaName: 'public',
})
.notNullable();
table.timestamp('created_at', { useTz: true });
table.timestamp('updated_at', { useTz: true });
});
}
async down() {
await this.schema.raw('DROP TYPE IF EXISTS "course_status_enum" CASCADE');
this.schema.dropTable(this.tableName);
}
}
exports.default = Courses;
//# sourceMappingURL=1627300211260_courses.js.map