我試圖在運行我所有的測試之前給數據庫添加種子。所以我創建了一個新的文件bootstrapTest.js
並已將其列入這樣gulp.src(['test/bootstrapTest.js', 'test/**/*.js']
如何使用db-migrate刪除並重新運行遷移
bootstrapTest.js
我測試的源文件,現在需要將數據庫和重新運行遷移和種子數據。所以我創建一個子進程並讓它運行一個shell腳本(seed.sh
)。
`const exec = require('child_process').exec;
exec('./seed.sh',
{env: {database__host: 'localhost', database__user: 'username',
database__port: 3306, database__password: 'password'}}, function
(error, stdout, stderr) { ...
}`
,這是我seed.sh
看起來像
#!/bin/bash ./node_modules/.bin/db-migrate reset --env test echo '## Database truncated' ./node_modules/.bin/db-migrate up --env test echo '## Database migrated'
在控制檯上的輸出,我只看到了回聲輸出,而不是正在運行的命令。我已經驗證db-migrate確實沒有運行。
任何想法爲什麼db-migrate
未運行?當我從我的zsh手動運行時,它工作正常。