Как протестировать Laravel, используя Gitlab Ci и внешний ключ нескольких баз данных? - PullRequest
0 голосов
/ 17 июня 2019

Я пытаюсь запустить ci runner, где я пытаюсь создать тестовое и развернуть приложение laravel на сервере. У меня есть уникальный случай, когда мне нужно подключиться к нескольким БД, и в миграциях есть ссылка на внешний ключ к этой базе данных.

Сначала я импортирую дамп MySQL из db1, а затем запускаю миграцию, но она всегда выдает ошибку Cannot add foreign key constraint, даже если база данных успешно импортирована. Ниже мой код

Когда мне нужно импортировать базу данных

connect:
  stage: building
  services:
    - mysql:5.7
  before_script:
    - apt-get update -q && apt-get install -qqy --no-install-recommends mysql-client
  script:
    - mysql --user=root --password="$MYSQL_ROOT_PASSWORD" --host="$DB_HOST" < db/db1.sql
    - echo "SELECT * FROM db1.users;" | mysql --user=root --password="$MYSQL_ROOT_PASSWORD" --host=mysql

и

db-seeding:
  stage: building
  services:
    - mysql:5.7
  image: edbizarro/gitlab-ci-pipeline-php:7.3
  # Download the artifacts for these jobs
  dependencies:
    - composer
    - yarn
  script:
    - php artisan migrate:fresh --seed
  artifacts:
    paths:
      - ./storage/logs # for debugging
    expire_in: 1 days
    when: on_failure

когда мне нужно запустить миграцию

Как добавить ссылку на внешний ключ? Я не уверен, позволяет ли это сделать? или их альтернатива для достижения этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...