#mysql #sql #sphinx
#mysql #sql #sphinx
Вопрос:
Я получаю эту ошибку с MySQL CE:
[PDOException]
SQLSTATE[HY000]: General error: 1824 Failed to open the referenced table 'application'
История: я только что присоединился к компании в качестве фрилансера, и они предоставили мне доступ к Phabricator. Я загрузил их API из своего репозитория, и теперь я пытаюсь его настроить. Сначала создайте таблицы migrate
, а затем заполните их начальными значениями. Платформа Phalcon, а данные БД находятся в приложении / базе данных. Что здесь может быть не так? Я вижу, что первая таблица ссылается на другую таблицу. Мой друг говорит, что здесь нет проблем. Что может быть не так с моей стороны?
Вот первый файл миграции SQL. Их более 20, но эта создает проблемы.
public function change()
{
$table = $this->table('team');
$table->addColumn('name', 'string', [
'limit' => 255,
'null' => false
])
->addColumn('abbrev', 'string', [
'limit' => 32,
'null' => false
])
->addColumn('stripe_account_id', 'string', [
'null' => true
])
->addColumn('fee_rate', 'float', [
'null' => false,
'default' => 0.05
])
->addColumn('application_id', 'integer', [
'limit' => 11,
])
->addIndex('application_id', ['name' => 'fk_team_application_idx'])
->addForeignKey('application_id', 'application', 'id',
array('delete'=> 'CASCADE', 'update'=> 'CASCADE'))
->create();
}
}
Комментарии:
1. Было бы очень полезно, если бы вы отредактировали свой вопрос и показали код, вызывающий ошибку, включая любой оператор SQL.
2. @SloanThrasher Готово. Тем не менее, существует более 18 файлов, все из которых создают разные таблицы.
3. Существует ли таблица приложений? Если это так, вам может потребоваться включить имя базы данных в имя таблицы. Не уверен, но вы можете попробовать,
4. Вам, возможно, лучше иметь скрипт для создания таблиц без внешних ключей, а затем, когда все они будут созданы, добавьте внешние ключи. Вам также нужно будет отслеживать эти ключи, чтобы определить порядок, в котором вы копируете данные в таблицы.