Я пытаюсь выполнить несколько миграций для базы данных об автомастерской, и в настоящее время 5 из 7 миграций выполняются без каких-либо ошибок, однако к моменту достижения шестой миграции происходит «ER_PARSE_ERROR», когдаТаблица пытается назначить внешний ключ для родительской таблицы. В этом случае таблица 'hoja_de_partes' имеет столбец с именем 'idMECANICO', а шестая таблица с именем 'repuestos' назначает внешний ключ для столбца в родительской таблице, но когда выполняется процесс, происходит сбой вокруг этой таблицы ион помечает синтаксическую ошибку рядом с «unsigned» в строке 1. Я не знаю, что могло быть причиной такой ошибки, потому что в предыдущей миграции я делал то же самое, и ничего необычного не происходит.
Это родительская таблица
'use strict'
/** @type {import('@adonisjs/lucid/src/Schema')} */
const Schema = use('Schema')
class HojaDeParteSchema extends Schema {
up() {
this.create('hoja_de_partes', (table) => {
table.string('idHOJA', 45).primary()
table.string('CONCEPTO', 45).notNullable()
table.integer('CANTIDAD', 11).notNullable()
table.string('REPARACION', 45).notNullable()
table.integer('idMECANICO',
11).unsigned().references('idMEC').inTable('mecanico_responsables')
table.timestamps()
})
}
down() {
this.drop('hoja_de_partes')
}
}
module.exports = HojaDeParteSchema
Это дочерняя таблица
'use strict'
/** @type {import('@adonisjs/lucid/src/Schema')} */
const Schema = use('Schema')
class RepuestoSchema extends Schema {
up() {
this.create('repuestos', (table) => {
table.increments('idREP', 11).primary()
table.string('DESCRIPCION', 45).notNullable()
table.integer('COSTOUNIT', 11).notNullable()
table.integer('PRECIOUNIT', 11).notNullable()
table.integer('IMP_PARCIAL', 11).notNullable()
table.string('idHOJADEPARTE',
45).unsigned().references('idHOJA').inTable('hoja_de_partes')
table.integer('idMECANICODEPARTE',
11).unsigned().references('idMECANICO').inTable('hoja_de_partes')
table.timestamps()
})
}
down() {
this.drop('repuestos')
}
}
module.exports = RepuestoSchema
ЭТО ... ошибкатерминал помечает, как я уже сказал, я не знаю, что делает эту ошибку
code: 'ER_PARSE_ERROR',
errno: 1064,
sqlMessage:
'You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server
version for the right syntax to use near \'unsigned, `idMECANICODEPARTE` int(11) unsigned,
`created_at` datetime, `updated_\' at line 1',
sqlState: '42000',
index: 0,
sql:
'create table `repuestos` (`idREP` int unsigned not null auto_increment primary key,
`DESCRIPCION` varchar(45) not null, `COSTOUNIT` int(11) not null, `PRECIOUNIT` int(11) not
null, `IMP_PARCIAL` int(11) not null, `idHOJADEPARTE` varchar(45) unsigned,
`idMECANICODEPARTE` int(11) unsigned, `created_at` datetime, `updated_at` datetime)' }
Предыдущие миграции имеют те же ссылки .unsigned (). (column) в своихСинтаксис и все 5 запускаются без проблем, если для родительской таблицы hoja_de_partes ему присвоен внешний ключ, и я не выдал ошибку какого-либо рода.
Буду признателен за любую помощь или руководство, также извините, еслимойотступы плохие, я пытаюсь обойти длину некоторых из этих таблиц.