@grouparoo/core
Version:
The Grouparoo Core
117 lines (94 loc) • 2.25 kB
text/typescript
import Sequelize from "sequelize";
export default {
up: async (
queryInterface: Sequelize.QueryInterface,
DataTypes: typeof Sequelize
) => {
await queryInterface.createTable("imports", {
guid: {
type: DataTypes.STRING(40),
primaryKey: true,
},
createdAt: {
type: DataTypes.DATE,
allowNull: false,
},
updatedAt: {
type: DataTypes.DATE,
allowNull: false,
},
creatorType: {
type: DataTypes.STRING(191),
allowNull: false,
},
creatorGuid: {
type: DataTypes.STRING(40),
allowNull: false,
},
profileGuid: {
type: DataTypes.STRING(40),
allowNull: true,
},
data: {
type: DataTypes.TEXT,
allowNull: true,
},
rawData: {
type: DataTypes.TEXT,
allowNull: true,
},
oldProfileProperties: {
type: DataTypes.TEXT,
allowNull: true,
},
newProfileProperties: {
type: DataTypes.TEXT,
allowNull: true,
},
oldGroupGuids: {
type: DataTypes.TEXT,
allowNull: true,
},
newGroupGuids: {
type: DataTypes.TEXT,
allowNull: true,
},
profileAssociatedAt: {
type: DataTypes.DATE,
allowNull: true,
},
profileUpdatedAt: {
type: DataTypes.DATE,
allowNull: true,
},
groupsUpdatedAt: {
type: DataTypes.DATE,
allowNull: true,
},
exportedAt: {
type: DataTypes.DATE,
allowNull: true,
},
errorMessage: {
type: DataTypes.TEXT,
allowNull: true,
},
errorMetadata: {
type: DataTypes.TEXT,
allowNull: true,
},
});
await queryInterface.addIndex("imports", ["creatorGuid"], {
fields: ["creatorGuid"],
});
await queryInterface.addIndex("imports", ["profileGuid"], {
fields: ["profileGuid"],
});
await queryInterface.addIndex("imports", ["profileUpdatedAt"], {
fields: ["profileUpdatedAt"],
});
},
down: async (queryInterface: Sequelize.QueryInterface) => {
await queryInterface.dropTable("imports");
},
};