[Node.js] Migration with Umzug
2023-09-14 08:59:11 时间
https://www.npmjs.com/package/umzug
// index.js
const { Sequelize } = require('sequelize');
const { Umzug, SequelizeStorage } = require('umzug');
const sequelize = new Sequelize({ dialect: 'sqlite', storage: './db.sqlite' });
const umzug = new Umzug({
migrations: { glob: 'migrations/*.js' },
context: sequelize.getQueryInterface(),
storage: new SequelizeStorage({ sequelize }),
logger: console,
});
(async () => {
// Checks migrations and run them if they are not already applied. To keep
// track of the executed migrations, a table (and sequelize model) called SequelizeMeta
// will be automatically created (if it doesn't exist already) and parsed.
await umzug.up();
})();
// migrations/00_initial.js
const { Sequelize } = require('sequelize');
async function up({ context: queryInterface }) {
await queryInterface.createTable('users', {
id: {
type: Sequelize.INTEGER,
allowNull: false,
primaryKey: true
},
name: {
type: Sequelize.STRING,
allowNull: false
},
createdAt: {
type: Sequelize.DATE,
allowNull: false
},
updatedAt: {
type: Sequelize.DATE,
allowNull: false
}
});
}
async function down({ context: queryInterface }) {
await queryInterface.dropTable('users');
}
module.exports = { up, down };
相关文章
- 关于 Node.js Stream API 的用法概述
- js中moment方法_jquery 虚拟dom
- Vue.js 学习笔记 - 虚拟列表(Virtual-Scroll-List)心得
- Node.js笔记
- js模仿java的Map集合,实现功能详解编程语言
- 快速在Linux平台上安装Node.js(node安装linux)
- 利用Node.js实现对MS SQL服务器的连接(node连MSsql)
- 使用Node.js链接/操作MS SQL数据库(node mssql使用)
- MySQL数据库不支持存储JavaScript脚本(mysql不存js)
- Packer3.0JS压缩及混淆工具下载
- js实现杯子倒水问题自动求解程序
- js获取随机颜色值的函数
- 一个js导致的jquery失效问题的解决方法
- js中document.write使用过程中的一点疑问解答
- js中定义一个变量并判断其是否为空的方法
- node.js实现BigPipe详解
- node.js中的http.response.setHeader方法使用说明
- node.js中的fs.exists方法使用说明
- Node.js文件操作详解
- 用C/C++来实现Node.js的模块(一)