Смешивание шут с ожиданием ожирения

Внешние ключи работают, присоединяя столбцы к уникальному ключу в другой таблице, и этот уникальный ключ должен быть определен как некоторая форма уникального индекса, будь то первичный ключ или какой-либо другой уникальный индекс.

В настоящий момент единственным уникальным индексом, который у вас есть, является составной на ISBN, Title, который является вашим основным ключом.

Доступен ряд вариантов, в зависимости от того, что именно выполняется в BookTitle, и отношение данных в нем.

Я бы поставил под угрозу, что ISBN уникален для каждой строки в BookTitle. В предположении, что это так, измените свой первичный ключ только на ISBN и измените BookCopy, чтобы вместо Title у вас был ISBN и присоединился к нему.

Если вам нужно сохранить свой первичный ключ в качестве ISBN, Title вам нужно либо сохранить ISBN в BookCopy, либо Title, и внешний ключ в обоих столбцах, либо вам нужно создать уникальный индекс в BookTitle (Title) в качестве отдельного индекса.

В более общем плане вам нужно убедиться, что столбец или столбцы, которые у вас есть в вашем предложении REFERENCES, соответствуют точно уникальному индексу в родительской таблице: в вашем случае он терпит неудачу, потому что у вас нет единственного уникального индекса на Title один.

1
задан invisal 13 July 2018 в 03:30
поделиться

2 ответа

Это делается в два этапа:

  1. Когда вы используете detox.init(), передайте параметр false initGlobals, например: detox.init({ initGlobals: false }). Это отключит переопределение глобальных переменных, таких как expect Jest.
  2. Используйте общедоступные переменные detox через const { device, expect } = require('detox'); или аналогичный импорт ES6.
2
ответ дан noomorph 17 August 2018 в 13:43
поделиться
  • 1
    Импорт ES6 по-прежнему не поддерживается в узле, для этого вам придется выполнять свои тесты, что значительно усложняет настройку. – Rotemmiz 26 July 2018 в 22:34
  • 2
0
ответ дан tom 29 October 2018 в 16:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: