Ошибка: ENOENT: такого файла или каталога нет, scandir '/ app / migrations' - PullRequest
0 голосов
/ 13 января 2019

пытается запустить

heroku run knex migrate:latest

на heroku, чтобы настроить db, используя node и pg, и я получаю следующую ошибку

Error: ENOENT: no such file or directory, scandir '/app/migrations'

knexfile.js

module.exports = {
  development: {
    client: 'sqlite3',
    connection: {
      filename: './db/dnd.sqlite3'
    },
    useNullAsDefault: true,
    migrations: {
      directory: './db/migrations'
    },
    seeds: {
      directory: './db/seeds'
    }
  },
  production: {
    client: 'pg',
    connection: {
      database: 'my_db',
      user: process.env.USER,
      password: process.env.PASSWORD,
      DATABASE_URL: process.env.DATABASE_URL,
    }
  }
};

и вот копия моего файла package.json

{
  "name": "backend",
  "version": "1.0.0",
  "description": "backend",
  "main": "index.js",
  "scripts": {
    "test": "(knex migrate:rollback && knex migrate:latest && knex seed:run) && NODE_ENV=test jest --verbose --watch",
    "start": "nodemon server.js",
    "re": "knex migrate:rollback && knex migrate:latest && knex seed:run"
  },
  "keywords": [],
  "author": "my-name",
  "license": "MIT",
  "dependencies": {
    "bcryptjs": "^2.4.3",
    "cors": "^2.8.4",
    "express": "^4.16.3",
    "helmet": "^3.14.0",
    "jsonwebtoken": "^8.3.0",
    "knex": "^0.15.2",
    "morgan": "^1.9.1",
    "pg": "^7.8.0",
    "renderer": "^0.1.5",
    "sqlite3": "^4.0.3"
  },
  "devDependencies": {
    "coveralls": "^3.0.2",
    "enzyme": "^3.7.0",
    "enzyme-adapter-react-16": "^1.6.0",
    "jest": "^23.6.0",
    "mocha": "^5.2.0",
    "nodemon": "^1.18.5",
    "supertest": "^3.3.0"
  },
  "jest": {
    "testEnvironment": "node",
    "testPathIgnorePatterns": [
      "/node_modules/",
      "<rootDir>/notes/src/__tests__/"
    ]
  }
}

кто-нибудь сталкивался с этой ошибкой, прежде чем работать с pg и node и пытаться развернуть на heroku? Я перепробовал несколько вещей, но сейчас кажется, что бьется о стену. Не уверен, что делать.

1 Ответ

0 голосов
/ 17 мая 2019

Если ваша папка миграции пуста, она не будет отправлена ​​в Heroku, поэтому вы можете сделать две вещи.

1) Вручную создайте папку, используя heroku, запустите bash --app 'your-app-name'

2) В папке миграций создайте пустой файл, зафиксируйте и отправьте Heroku

...