小编cla*_*pas的帖子

我应该暂时禁用外键约束吗?怎么样?

我有两张桌子:

person:
    id serial primary key,
    name varchar(64) not null

task:
    tenant_id   integer not null references person (id) on delete cascade,
    customer_id integer not null references person (id) on delete restrict
Run Code Online (Sandbox Code Playgroud)

(他们有比这更多的列,但其余的与问题无关.)

问题是,我希望在删除task租户时级联person删除.但是当租户和客户是同一个人时,customer_id外键约束将限制删除.

我的问题有两个部分:

  1. 暂时禁用第二个外键是我唯一的选择吗?
  2. 如果是这样,那么我如何在PostgreSQL中做到这一点?

sql database postgresql foreign-keys

9
推荐指数
1
解决办法
1万
查看次数

如何为转发的请求设置标头

我的控制器的方法需要设置标题,例如X-Authorization.创建新对象(store操作)后,我执行转发以显示新创建的对象(show操作):

$request = Request::create(route('api.v1.b.show', ['booking' => 4]), 'GET');
Request::replace($request->input());
return Route::dispatch($request);
Run Code Online (Sandbox Code Playgroud)

如果我禁用授权检查,转发工作正常,但否则失败.即.标题已经消失了.我想将请求标头复制Request::header('X-Authorization')到转发的请求中.可能吗?

我试过没有成功$request->header('X-Authorization', 'xxxxx').header()在发送之前也尝试过PHP 并且没有用.

有任何想法吗?干杯

http-headers laravel-5

8
推荐指数
2
解决办法
9633
查看次数

HLT指令导致QEMU中的一般保护错误

我在QEMU下运行我的保护模式内核,并且在尝试执行汇编程序HLT指令时导致一般保护错误.CPL为0,EFLAGS中IOPL为0,启用中断.

这可能是QEMU问题还是我错过了什么?

在模拟SMP(对称多处理器)时会发生这种情况.

x86 assembly qemu

7
推荐指数
1
解决办法
578
查看次数

为github存储库禁用重命名按钮

通过其设置页面重命名GitHub存储库这么简单.现在,当我尝试不同的新名称时,标记为"重命名"的按钮被禁用.有什么线索发生了什么?

rename github repository

3
推荐指数
1
解决办法
279
查看次数

常量类实例是否是 PEP8 命名约定的例外?

如果我在模块级别声明一个实例,该实例将被设置一次并且永远不会更改,我是否应该坚持 PEP8 中的大写命名约定?

例如

entity_manager = EntityManager(config)
Run Code Online (Sandbox Code Playgroud)

ENTITY_MANAGER = EntityManager(config)
Run Code Online (Sandbox Code Playgroud)

当常量是基本类型(例如整数)时,通常不进行讨论。但这又如何呢?

python pep8

3
推荐指数
1
解决办法
994
查看次数