我正在使用laravel来迁移一些数据,但我收到以下消息:
function pluralService($locale) {
this.getPlural = function(count) {
return $locale.pluralCat(count);
};
}
angular.module('plurals', [])
.service('plural', ['$locale', pluralService])
;
beforeEach(module('plurals'));
describe('plural', function() {
beforeEach(inject(function($injector) {
this.plural = $injector.get('plural');
}));
it('should return correct plural category', function() {
expect(this.plural.getPlural(1)).toBe('one');
expect(this.plural.getPlural(5)).toBe('other');
});
});
我尝试了很多东西,但没有用。
以下是迁移文件的代码。 (相关部分)。
[Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1005 Can't create table 'heinz.#sql-1e83_8' (errno: 150) (SQL: alter table `funcionarios` add constraint funcionarios_supervisor_id_foreign foreign key (`supervis
or_id`) references `funcionarios` (`id`))
答案 0 :(得分:7)
所有外键必须是未签名的
$table->integer('supervisor_id')->unsigned()->nullable();
$table->integer('coordenador_id')->unsigned()->nullable();
$table->integer('gerente_id')->unsigned()->nullable();
$table->integer('diretor_id')->unsigned()->nullable();
$table->integer('sexo_id')->unsigned()->nullable();
$table->integer('setor_id')->unsigned()->nullable();
$table->integer('cargo_id')->unsigned();
$table->integer('turno_id')->unsigned()->nullable();
答案 1 :(得分:3)
如果没有看到您的表结构,可以从下面的查询中找到
列chmod u+rx
和id
都不匹配数据类型和大小。确保此列
此外,检查是否已存在名称为supervisor_id
的任何其他约束。如果是,请尝试为约束提供不同的名称。
funcionarios_supervisor_id_foreign
答案 2 :(得分:1)
当代码中的主键引用错误时,您会收到error code 1005
。以下是调试代码的方法:
答案 3 :(得分:0)
首先需要检查迁移文件的执行顺序。引用表迁移应该在完整性约束中引用之前完成。