Это оказалось проблемой конфигурации babel.
Когда я изменил код, чтобы он выглядел следующим образом, он работал:
import path from 'path';
import { Model } from 'objection';
import { BaseModel } from './base.model';
export class Group extends BaseModel {
static get tableName() {
return 'groups';
}
static get relationMappings() {
return {
users: {
modelClass: path.join(__dirname, 'user.model'),
relation: Model.ManyToManyRelation,
join: {
from: 'groups.id',
through: {
from: 'users_groups.group_id',
to: 'users_groups.user_id'
},
to: 'users.id',
}
}
};
}
}
import path from 'path';
import { Model } from 'objection';
import { BaseModel } from './base.model'
export class User extends BaseModel {
static get tableName() {
return 'users';
}
static get relationMappings() {
return {
groups: {
modelClass: path.join(__dirname, 'group.model'),
relation: Model.ManyToManyRelation,
join: {
from: 'users.id',
through: {
from: 'users_groups.user_id',
to: 'users_groups.group_id'
},
to: 'groups.id'
}
}
};
}
}
Обычно я использую временную таблицу. Вероятно, это неэффективно с вычислительной точки зрения, но, похоже, работает нормально! Здесь я полностью копирую запись 99, создавая запись 100.
CREATE TEMPORARY TABLE tmp SELECT * FROM invoices WHERE id = 99;
UPDATE tmp SET id=100 WHERE id = 99;
INSERT INTO invoices SELECT * FROM tmp WHERE id = 100;
Надеюсь, это сработает для вас!
Вы точно знаете, что сработает ДУБЛИКАТОРНЫЙ КЛЮЧ, поэтому вы можете заранее выбрать МАКС. (ИД) +1 :
INSERT INTO invoices SELECT MAX(ID)+1, ... other fields ... FROM invoices AS iv WHERE iv.ID=XXXXX
Мне это тоже нужно; Мое решение заключалось в использовании SQLYOG (бесплатная версия) для экспорта желаемой записи как SQL (создает вставку).
Затем я вручную отредактировал это, чтобы удалить идентификатор, поскольку он должен быть автоматически сгенерирован, а затем скопировал вставку в SQLYog для ее выполнения. Это было безболезненно. Я думаю, что многие другие графические интерфейсы MySQL тоже могут это сделать.
Это дает мне запись, которую я могу использовать в тестовых целях в действующей системе.
Теперь у меня есть этот вкладыш для повторного использования, так как таблица переписывается ежедневно.