【背景】
Node.js/Express.jsを触り始めて1週間くらいの初心者です。
DBを直接操作していたのですが、面倒になってきたので、npm db-migrateを使って、マイグレーションファイルを作成し、DBを操作したいと考えていました。
【実現したいこと】
npm db-migrateを使って、DBを操作する。
【エラーの内容】
下記のリンクの手順に従って進めていました。
https://qiita.com/TakagiToru/items/61600235a9552daa5c28
マイグレーションファイルは問題なく作成できて、編集後
$ db-migrate up
を実行したところ、下記のエラーが出ました。
ERROR] AssertionError [ERR_ASSERTION]: ifError got unwanted exception: No such driver found, please try to install it via npm install db-migrate-mysql2 or npm install -g db-migrate-mysql2
↓マイグレーションファイル
'use strict'; var dbm; var type; var seed; /** * We receive the dbmigrate dependency from dbmigrate initially. * This enables us to not have to rely on NODE_PATH. */ exports.setup = function(options, seedLink) { dbm = options.dbmigrate; type = dbm.dataType; seed = seedLink; }; exports.up = function(db) { db.createTable('hoge', { id: { type: 'int', primaryKey: true }, name: 'string' }); return null; }; exports.down = function(db) { db.dropTable('hoge'); return null; }; exports._meta = { "version": 1 };
↓database.json
json
1{ 2 "dev": { 3 "driver": "mysql2", 4 "user": "root", 5 "password": "", 6 "database": "nodejs" 7 } 8}
【ためしてみたこと】
おそらく原因は、Mysqlではなく、Mysql2を使用しているために発生していると考えています。
エラー文にもある、npm install db-migrate-mysql2
npm install -g db-migrate-mysql2
どちらも実行してみましたが、not foundでインストールできませんでした。
Mysql2を使用している理由は、もともと、Mysql8系を使用していたのですが、色々問題があり、Mysql2で解決したので、そのまま使用しているといった感じです。
解決策等あれば、ご教示をお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/26 10:59