1093 lines
26 KiB
JavaScript
1093 lines
26 KiB
JavaScript
module.exports = {
|
||
/**
|
||
* @param {QueryInterface} queryInterface
|
||
* @param {Sequelize} Sequelize
|
||
* @returns {Promise<void>}
|
||
*/
|
||
async up(queryInterface, Sequelize) {
|
||
/**
|
||
* @type {Transaction}
|
||
*/
|
||
const transaction = await queryInterface.sequelize.transaction();
|
||
try {
|
||
await queryInterface.createTable(
|
||
'users',
|
||
{
|
||
id: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
defaultValue: Sequelize.DataTypes.UUIDV4,
|
||
primaryKey: true,
|
||
},
|
||
createdById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
updatedById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
createdAt: { type: Sequelize.DataTypes.DATE },
|
||
updatedAt: { type: Sequelize.DataTypes.DATE },
|
||
deletedAt: { type: Sequelize.DataTypes.DATE },
|
||
importHash: {
|
||
type: Sequelize.DataTypes.STRING(255),
|
||
allowNull: true,
|
||
unique: true,
|
||
},
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.createTable(
|
||
'blogs',
|
||
{
|
||
id: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
defaultValue: Sequelize.DataTypes.UUIDV4,
|
||
primaryKey: true,
|
||
},
|
||
createdById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
updatedById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
createdAt: { type: Sequelize.DataTypes.DATE },
|
||
updatedAt: { type: Sequelize.DataTypes.DATE },
|
||
deletedAt: { type: Sequelize.DataTypes.DATE },
|
||
importHash: {
|
||
type: Sequelize.DataTypes.STRING(255),
|
||
allowNull: true,
|
||
unique: true,
|
||
},
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.createTable(
|
||
'careers',
|
||
{
|
||
id: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
defaultValue: Sequelize.DataTypes.UUIDV4,
|
||
primaryKey: true,
|
||
},
|
||
createdById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
updatedById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
createdAt: { type: Sequelize.DataTypes.DATE },
|
||
updatedAt: { type: Sequelize.DataTypes.DATE },
|
||
deletedAt: { type: Sequelize.DataTypes.DATE },
|
||
importHash: {
|
||
type: Sequelize.DataTypes.STRING(255),
|
||
allowNull: true,
|
||
unique: true,
|
||
},
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.createTable(
|
||
'contacts',
|
||
{
|
||
id: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
defaultValue: Sequelize.DataTypes.UUIDV4,
|
||
primaryKey: true,
|
||
},
|
||
createdById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
updatedById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
createdAt: { type: Sequelize.DataTypes.DATE },
|
||
updatedAt: { type: Sequelize.DataTypes.DATE },
|
||
deletedAt: { type: Sequelize.DataTypes.DATE },
|
||
importHash: {
|
||
type: Sequelize.DataTypes.STRING(255),
|
||
allowNull: true,
|
||
unique: true,
|
||
},
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.createTable(
|
||
'events',
|
||
{
|
||
id: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
defaultValue: Sequelize.DataTypes.UUIDV4,
|
||
primaryKey: true,
|
||
},
|
||
createdById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
updatedById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
createdAt: { type: Sequelize.DataTypes.DATE },
|
||
updatedAt: { type: Sequelize.DataTypes.DATE },
|
||
deletedAt: { type: Sequelize.DataTypes.DATE },
|
||
importHash: {
|
||
type: Sequelize.DataTypes.STRING(255),
|
||
allowNull: true,
|
||
unique: true,
|
||
},
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.createTable(
|
||
'messages',
|
||
{
|
||
id: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
defaultValue: Sequelize.DataTypes.UUIDV4,
|
||
primaryKey: true,
|
||
},
|
||
createdById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
updatedById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
createdAt: { type: Sequelize.DataTypes.DATE },
|
||
updatedAt: { type: Sequelize.DataTypes.DATE },
|
||
deletedAt: { type: Sequelize.DataTypes.DATE },
|
||
importHash: {
|
||
type: Sequelize.DataTypes.STRING(255),
|
||
allowNull: true,
|
||
unique: true,
|
||
},
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.createTable(
|
||
'orders',
|
||
{
|
||
id: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
defaultValue: Sequelize.DataTypes.UUIDV4,
|
||
primaryKey: true,
|
||
},
|
||
createdById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
updatedById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
createdAt: { type: Sequelize.DataTypes.DATE },
|
||
updatedAt: { type: Sequelize.DataTypes.DATE },
|
||
deletedAt: { type: Sequelize.DataTypes.DATE },
|
||
importHash: {
|
||
type: Sequelize.DataTypes.STRING(255),
|
||
allowNull: true,
|
||
unique: true,
|
||
},
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.createTable(
|
||
'products',
|
||
{
|
||
id: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
defaultValue: Sequelize.DataTypes.UUIDV4,
|
||
primaryKey: true,
|
||
},
|
||
createdById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
updatedById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
createdAt: { type: Sequelize.DataTypes.DATE },
|
||
updatedAt: { type: Sequelize.DataTypes.DATE },
|
||
deletedAt: { type: Sequelize.DataTypes.DATE },
|
||
importHash: {
|
||
type: Sequelize.DataTypes.STRING(255),
|
||
allowNull: true,
|
||
unique: true,
|
||
},
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.createTable(
|
||
'services',
|
||
{
|
||
id: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
defaultValue: Sequelize.DataTypes.UUIDV4,
|
||
primaryKey: true,
|
||
},
|
||
createdById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
updatedById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
createdAt: { type: Sequelize.DataTypes.DATE },
|
||
updatedAt: { type: Sequelize.DataTypes.DATE },
|
||
deletedAt: { type: Sequelize.DataTypes.DATE },
|
||
importHash: {
|
||
type: Sequelize.DataTypes.STRING(255),
|
||
allowNull: true,
|
||
unique: true,
|
||
},
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.createTable(
|
||
'teams',
|
||
{
|
||
id: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
defaultValue: Sequelize.DataTypes.UUIDV4,
|
||
primaryKey: true,
|
||
},
|
||
createdById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
updatedById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
createdAt: { type: Sequelize.DataTypes.DATE },
|
||
updatedAt: { type: Sequelize.DataTypes.DATE },
|
||
deletedAt: { type: Sequelize.DataTypes.DATE },
|
||
importHash: {
|
||
type: Sequelize.DataTypes.STRING(255),
|
||
allowNull: true,
|
||
unique: true,
|
||
},
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.createTable(
|
||
'testimonials',
|
||
{
|
||
id: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
defaultValue: Sequelize.DataTypes.UUIDV4,
|
||
primaryKey: true,
|
||
},
|
||
createdById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
updatedById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
createdAt: { type: Sequelize.DataTypes.DATE },
|
||
updatedAt: { type: Sequelize.DataTypes.DATE },
|
||
deletedAt: { type: Sequelize.DataTypes.DATE },
|
||
importHash: {
|
||
type: Sequelize.DataTypes.STRING(255),
|
||
allowNull: true,
|
||
unique: true,
|
||
},
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.createTable(
|
||
'roles',
|
||
{
|
||
id: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
defaultValue: Sequelize.DataTypes.UUIDV4,
|
||
primaryKey: true,
|
||
},
|
||
createdById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
updatedById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
createdAt: { type: Sequelize.DataTypes.DATE },
|
||
updatedAt: { type: Sequelize.DataTypes.DATE },
|
||
deletedAt: { type: Sequelize.DataTypes.DATE },
|
||
importHash: {
|
||
type: Sequelize.DataTypes.STRING(255),
|
||
allowNull: true,
|
||
unique: true,
|
||
},
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.createTable(
|
||
'permissions',
|
||
{
|
||
id: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
defaultValue: Sequelize.DataTypes.UUIDV4,
|
||
primaryKey: true,
|
||
},
|
||
createdById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
updatedById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
createdAt: { type: Sequelize.DataTypes.DATE },
|
||
updatedAt: { type: Sequelize.DataTypes.DATE },
|
||
deletedAt: { type: Sequelize.DataTypes.DATE },
|
||
importHash: {
|
||
type: Sequelize.DataTypes.STRING(255),
|
||
allowNull: true,
|
||
unique: true,
|
||
},
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.createTable(
|
||
'kurumsaladı',
|
||
{
|
||
id: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
defaultValue: Sequelize.DataTypes.UUIDV4,
|
||
primaryKey: true,
|
||
},
|
||
createdById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
updatedById: {
|
||
type: Sequelize.DataTypes.UUID,
|
||
references: {
|
||
key: 'id',
|
||
model: 'users',
|
||
},
|
||
},
|
||
createdAt: { type: Sequelize.DataTypes.DATE },
|
||
updatedAt: { type: Sequelize.DataTypes.DATE },
|
||
deletedAt: { type: Sequelize.DataTypes.DATE },
|
||
importHash: {
|
||
type: Sequelize.DataTypes.STRING(255),
|
||
allowNull: true,
|
||
unique: true,
|
||
},
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'users',
|
||
'firstName',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'users',
|
||
'lastName',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'users',
|
||
'phoneNumber',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'users',
|
||
'email',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'users',
|
||
'disabled',
|
||
{
|
||
type: Sequelize.DataTypes.BOOLEAN,
|
||
|
||
defaultValue: false,
|
||
allowNull: false,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'users',
|
||
'password',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'users',
|
||
'emailVerified',
|
||
{
|
||
type: Sequelize.DataTypes.BOOLEAN,
|
||
|
||
defaultValue: false,
|
||
allowNull: false,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'users',
|
||
'emailVerificationToken',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'users',
|
||
'emailVerificationTokenExpiresAt',
|
||
{
|
||
type: Sequelize.DataTypes.DATE,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'users',
|
||
'passwordResetToken',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'users',
|
||
'passwordResetTokenExpiresAt',
|
||
{
|
||
type: Sequelize.DataTypes.DATE,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'users',
|
||
'provider',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'blogs',
|
||
'title',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'blogs',
|
||
'content',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'blogs',
|
||
'published_at',
|
||
{
|
||
type: Sequelize.DataTypes.DATE,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'careers',
|
||
'position',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'careers',
|
||
'description',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'contacts',
|
||
'name',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'contacts',
|
||
'email',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'contacts',
|
||
'message',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'events',
|
||
'name',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'events',
|
||
'start_date',
|
||
{
|
||
type: Sequelize.DataTypes.DATE,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'events',
|
||
'end_date',
|
||
{
|
||
type: Sequelize.DataTypes.DATE,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'events',
|
||
'location',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'messages',
|
||
'senderId',
|
||
{
|
||
type: Sequelize.DataTypes.UUID,
|
||
|
||
references: {
|
||
model: 'users',
|
||
key: 'id',
|
||
},
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'messages',
|
||
'content',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'orders',
|
||
'customerId',
|
||
{
|
||
type: Sequelize.DataTypes.UUID,
|
||
|
||
references: {
|
||
model: 'users',
|
||
key: 'id',
|
||
},
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'orders',
|
||
'order_date',
|
||
{
|
||
type: Sequelize.DataTypes.DATE,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'orders',
|
||
'total_amount',
|
||
{
|
||
type: Sequelize.DataTypes.DECIMAL,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'products',
|
||
'name',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'products',
|
||
'description',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'products',
|
||
'price',
|
||
{
|
||
type: Sequelize.DataTypes.DECIMAL,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'services',
|
||
'name',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'services',
|
||
'description',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'teams',
|
||
'name',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'testimonials',
|
||
'author',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'testimonials',
|
||
'content',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'testimonials',
|
||
'rating',
|
||
{
|
||
type: Sequelize.DataTypes.INTEGER,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'permissions',
|
||
'name',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'roles',
|
||
'name',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'roles',
|
||
'role_customization',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'users',
|
||
'app_roleId',
|
||
{
|
||
type: Sequelize.DataTypes.UUID,
|
||
|
||
references: {
|
||
model: 'roles',
|
||
key: 'id',
|
||
},
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'kurumsaladı',
|
||
'name',
|
||
{
|
||
type: Sequelize.DataTypes.TEXT,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.addColumn(
|
||
'roles',
|
||
'globalAccess',
|
||
{
|
||
type: Sequelize.DataTypes.BOOLEAN,
|
||
|
||
defaultValue: false,
|
||
allowNull: false,
|
||
},
|
||
{ transaction },
|
||
);
|
||
|
||
await transaction.commit();
|
||
} catch (err) {
|
||
await transaction.rollback();
|
||
throw err;
|
||
}
|
||
},
|
||
/**
|
||
* @param {QueryInterface} queryInterface
|
||
* @param {Sequelize} Sequelize
|
||
* @returns {Promise<void>}
|
||
*/
|
||
async down(queryInterface, Sequelize) {
|
||
/**
|
||
* @type {Transaction}
|
||
*/
|
||
const transaction = await queryInterface.sequelize.transaction();
|
||
try {
|
||
await queryInterface.removeColumn('roles', 'globalAccess', {
|
||
transaction,
|
||
});
|
||
|
||
await queryInterface.removeColumn('kurumsaladı', 'name', { transaction });
|
||
|
||
await queryInterface.removeColumn('users', 'app_roleId', { transaction });
|
||
|
||
await queryInterface.removeColumn('roles', 'role_customization', {
|
||
transaction,
|
||
});
|
||
|
||
await queryInterface.removeColumn('roles', 'name', { transaction });
|
||
|
||
await queryInterface.removeColumn('permissions', 'name', { transaction });
|
||
|
||
await queryInterface.removeColumn('testimonials', 'rating', {
|
||
transaction,
|
||
});
|
||
|
||
await queryInterface.removeColumn('testimonials', 'content', {
|
||
transaction,
|
||
});
|
||
|
||
await queryInterface.removeColumn('testimonials', 'author', {
|
||
transaction,
|
||
});
|
||
|
||
await queryInterface.removeColumn('teams', 'name', { transaction });
|
||
|
||
await queryInterface.removeColumn('services', 'description', {
|
||
transaction,
|
||
});
|
||
|
||
await queryInterface.removeColumn('services', 'name', { transaction });
|
||
|
||
await queryInterface.removeColumn('products', 'price', { transaction });
|
||
|
||
await queryInterface.removeColumn('products', 'description', {
|
||
transaction,
|
||
});
|
||
|
||
await queryInterface.removeColumn('products', 'name', { transaction });
|
||
|
||
await queryInterface.removeColumn('orders', 'total_amount', {
|
||
transaction,
|
||
});
|
||
|
||
await queryInterface.removeColumn('orders', 'order_date', {
|
||
transaction,
|
||
});
|
||
|
||
await queryInterface.removeColumn('orders', 'customerId', {
|
||
transaction,
|
||
});
|
||
|
||
await queryInterface.removeColumn('messages', 'content', { transaction });
|
||
|
||
await queryInterface.removeColumn('messages', 'senderId', {
|
||
transaction,
|
||
});
|
||
|
||
await queryInterface.removeColumn('events', 'location', { transaction });
|
||
|
||
await queryInterface.removeColumn('events', 'end_date', { transaction });
|
||
|
||
await queryInterface.removeColumn('events', 'start_date', {
|
||
transaction,
|
||
});
|
||
|
||
await queryInterface.removeColumn('events', 'name', { transaction });
|
||
|
||
await queryInterface.removeColumn('contacts', 'message', { transaction });
|
||
|
||
await queryInterface.removeColumn('contacts', 'email', { transaction });
|
||
|
||
await queryInterface.removeColumn('contacts', 'name', { transaction });
|
||
|
||
await queryInterface.removeColumn('careers', 'description', {
|
||
transaction,
|
||
});
|
||
|
||
await queryInterface.removeColumn('careers', 'position', { transaction });
|
||
|
||
await queryInterface.removeColumn('blogs', 'published_at', {
|
||
transaction,
|
||
});
|
||
|
||
await queryInterface.removeColumn('blogs', 'content', { transaction });
|
||
|
||
await queryInterface.removeColumn('blogs', 'title', { transaction });
|
||
|
||
await queryInterface.removeColumn('users', 'provider', { transaction });
|
||
|
||
await queryInterface.removeColumn(
|
||
'users',
|
||
'passwordResetTokenExpiresAt',
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.removeColumn('users', 'passwordResetToken', {
|
||
transaction,
|
||
});
|
||
|
||
await queryInterface.removeColumn(
|
||
'users',
|
||
'emailVerificationTokenExpiresAt',
|
||
{ transaction },
|
||
);
|
||
|
||
await queryInterface.removeColumn('users', 'emailVerificationToken', {
|
||
transaction,
|
||
});
|
||
|
||
await queryInterface.removeColumn('users', 'emailVerified', {
|
||
transaction,
|
||
});
|
||
|
||
await queryInterface.removeColumn('users', 'password', { transaction });
|
||
|
||
await queryInterface.removeColumn('users', 'disabled', { transaction });
|
||
|
||
await queryInterface.removeColumn('users', 'email', { transaction });
|
||
|
||
await queryInterface.removeColumn('users', 'phoneNumber', {
|
||
transaction,
|
||
});
|
||
|
||
await queryInterface.removeColumn('users', 'lastName', { transaction });
|
||
|
||
await queryInterface.removeColumn('users', 'firstName', { transaction });
|
||
|
||
await queryInterface.dropTable('kurumsaladı', { transaction });
|
||
|
||
await queryInterface.dropTable('permissions', { transaction });
|
||
|
||
await queryInterface.dropTable('roles', { transaction });
|
||
|
||
await queryInterface.dropTable('testimonials', { transaction });
|
||
|
||
await queryInterface.dropTable('teams', { transaction });
|
||
|
||
await queryInterface.dropTable('services', { transaction });
|
||
|
||
await queryInterface.dropTable('products', { transaction });
|
||
|
||
await queryInterface.dropTable('orders', { transaction });
|
||
|
||
await queryInterface.dropTable('messages', { transaction });
|
||
|
||
await queryInterface.dropTable('events', { transaction });
|
||
|
||
await queryInterface.dropTable('contacts', { transaction });
|
||
|
||
await queryInterface.dropTable('careers', { transaction });
|
||
|
||
await queryInterface.dropTable('blogs', { transaction });
|
||
|
||
await queryInterface.dropTable('users', { transaction });
|
||
|
||
await transaction.commit();
|
||
} catch (err) {
|
||
await transaction.rollback();
|
||
throw err;
|
||
}
|
||
},
|
||
};
|