在Node.js中使用不同数据库的db-migrate包可以通过以下步骤实现:
npm install db-migrate db-migrate-pg // 用于PostgreSQL
npm install db-migrate db-migrate-mysql // 用于MySQL
npm install db-migrate db-migrate-sqlite3 // 用于SQLite
db-migrate create --sql-file // 创建一个SQL文件的迁移
db-migrate create --javascript // 创建一个JavaScript文件的迁移
exports.up = function(db, callback) {
db.createTable('users', {
id: { type: 'int', primaryKey: true },
name: 'string',
age: 'int'
}, callback);
};
exports.down = function(db, callback) {
db.dropTable('users', callback);
};
以下是一个MySQL数据库的示例:
exports.up = function(db, callback) {
db.createTable('users', {
id: { type: 'int', primaryKey: true },
name: 'string',
age: 'int'
}, callback);
};
exports.down = function(db, callback) {
db.dropTable('users', callback);
};
以下是一个SQLite数据库的示例:
exports.up = function(db, callback) {
db.runSql(`
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER
)
`, callback);
};
exports.down = function(db, callback) {
db.runSql('DROP TABLE users', callback);
};
const dbmigrate = require('db-migrate');
const instance = dbmigrate.getInstance(true); // 使用当前配置文件
// 迁移数据库
instance.up(function(err, results) {
if (err) {
console.error(err);
process.exit(1);
}
console.log('Migration successful');
process.exit(0);
});
// 回滚迁移
instance.down(function(err, results) {
if (err) {
console.error(err);
process.exit(1);
}
console.log('Rollback successful');
process.exit(0);
});
这样就可以使用不同数据库的db-migrate包来进行数据库迁移和回滚操作了。根据所使用的数据库类型,相应的迁移文件和操作将会有所不同。
上一篇:不同数据库的不同项目?
下一篇:不同数据库的通用数据访问类