Typeorm мигрируют, получают время рукопожатия в CircleCi - PullRequest
0 голосов
/ 29 марта 2019

Я пытаюсь использовать CircleCi для применения миграций для моего aws RDS (mysql). Получи Handshake inactivity timeout

Мне удалось запустить команду typeorm migrate на моем локальном компьютере. с точно таким же кодом конфигурации базы данных, который я выдвинул на CircleCi, ошибка переноса выброса Handshake inactivity timeout ошибка.

команда в скрипте, который я запускаю, является

"migrate": "npx ts-node node_modules/.bin/typeorm migration:run"

отлично работает на моей локальной машине.

часть config.yml для CircleCi

deploy-dev:
    working_directory: ~/repo
    docker:
      - image: circleci/node:8.10
    steps:
      - checkout
      - restore_cache:
          keys:
            - v1-dependencies-{{ checksum "package.json" }}
            - v1-dependencies-
      - run:
          name: Install Serverless CLI and dependencies
          command: |
            sudo npm i -g serverless
            npm install
      - save_cache:
          paths:
            - node_modules
          key: v1-dependencies-{{ checksum "package.json" }}

      - run:
          name: Run tests
          command: npm test

      - run:
          name: Apply Migration to dev db
          environment:
            NODE_ENV: TEST
          command: npm run migrate

Ошибка произошла в Применить миграцию к dev db

Error during migration run:
{ Error: Handshake inactivity timeout
    at Handshake.<anonymous> (/home/circleci/repo/node_modules/mysql/lib/protocol/Protocol.js:163:17)
    at emitNone (events.js:106:13)
    at Handshake.emit (events.js:208:7)
    at Handshake._onTimeout (/home/circleci/repo/node_modules/mysql/lib/protocol/sequences/Sequence.js:124:8)
    at Timer._onTimeout (/home/circleci/repo/node_modules/mysql/lib/protocol/Timer.js:32:23)
    at ontimeout (timers.js:482:11)
    at tryOnTimeout (timers.js:317:5)
    at Timer.listOnTimeout (timers.js:277:5)
    --------------------
    at Protocol._enqueue (/home/circleci/repo/node_modules/mysql/lib/protocol/Protocol.js:144:48)
    at Protocol.handshake (/home/circleci/repo/node_modules/mysql/lib/protocol/Protocol.js:51:23)
    at PoolConnection.connect (/home/circleci/repo/node_modules/mysql/lib/Connection.js:118:18)
    at Pool.getConnection (/home/circleci/repo/node_modules/mysql/lib/Pool.js:48:16)
    at /home/circleci/repo/src/driver/mysql/MysqlDriver.ts:858:18
    at new Promise (<anonymous>)
    at MysqlDriver.createPool (/home/circleci/repo/src/driver/mysql/MysqlDriver.ts:855:16)
    at MysqlDriver.<anonymous> (/home/circleci/repo/src/driver/mysql/MysqlDriver.ts:326:36)
    at step (/home/circleci/repo/node_modules/tslib/tslib.js:133:27)
    at Object.next (/home/circleci/repo/node_modules/tslib/tslib.js:114:57)
  code: 'PROTOCOL_SEQUENCE_TIMEOUT',
  fatal: true,
  timeout: 10000 }
...