Не удается заставить Prisma работать с существующей БД MySQL, на которой есть данные - PullRequest
0 голосов
/ 06 марта 2020

Прежде всего, у нас есть настройка MySQL БД на Heroku, в которой уже есть данные. Я пытаюсь добавить слой Prisma поверх нашей БД.

My docker -compose.yml:

version: "3"
services:
  prisma:
    image: prismagraphql/prisma:1.34
    restart: always
    ports:
      - "4466:4466"
    environment:
      PRISMA_CONFIG: |
        port: 4466
        # uncomment the next line and provide the env var PRISMA_MANAGEMENT_API_SECRET=my-secret to activate cluster security
        # managementApiSecret: my-secret
        databases:
          default:
            connector: mysql
            host: 
            database: 
            user: user 
            password: 
            rawAccess: true
            port: '3306'
            migrations: false

Prisma.yml

# The HTTP endpoint for Prisma API
endpoint: http://localhost:4466

# Points to the file that contains your datamodel
datamodel: datamodel.prisma

# Specifies language and location for the generated Prisma Client
generate:
  - generator: javascript-client
    output: ./generated/prisma-client/

I go через prisma init и подключается к БД и настраивает модель данных как следует, из того, что кажется:

После docker-compose up -d я запускаю prisma deploy, и он поражает меня

Не удалось подключиться к серверу в http://localhost: 4466 . Пожалуйста, проверьте, работает ли ваш сервер.

Я запускаю systemctl status docker и docker работает так, как должно.

Затем я запускаю docker-compose logs и получаю обратно это

Исключение в потоке "main" java. sql .SQLSyntaxErrorException: (conn = 10044859) Доступ запрещен для user 'user' @ '%' к базе данных 'prisma'

Итак, для ознакомления prisma нужно, чтобы у пользователя БД были привилегии для создания новой схемы в БД для целей управления?

Понятия не имею, куда отсюда go. Если я делаю что-то не так, помощь будет высоко ценится!

Кстати: SSL не активен на БД, поэтому нет необходимости, чтобы он был истинным.

...