postgresql - 为迁移禁用 PostgreSQL 外键检查

标签 postgresql

我在 PostgreSQL 9.4 中创建了很多具有外键的迁移。

这让人很头疼,因为表在迁移时必须完全按照外键预期的顺序排列。如果我必须从我的新迁移依赖于外键的其他包运行迁移,它会变得更加棘手。

在 MySQL 中,我可以通过简单地将 SET FOREIGN_KEY_CHECKS = 0; 添加到迁移文件的顶部来简化此过程。我如何才能在 PostgresSQL 中临时执行迁移代码的长度?

顺便说一句,为此使用 Laravel Schema Builder。

最佳答案

对于迁移,禁用所有触发器更容易:

SET session_replication_role = 'replica';

迁移后重新启用

SET session_replication_role = 'origin';

关于postgresql - 为迁移禁用 PostgreSQL 外键检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38112379/

相关文章:

python - SELECT 被 OS 信号中断后 Psycopg2 连接不可用

sql - 组合两个具有多个粒度级别的表

asp.net - 带有 PostgreSql 的 ASP Core 1。授权和认证

sql - 根据 Postgres 中的另一列设置列的值?

python - 将 python sqlalchemy 类转换为原始 SQL(使用外键创建表)

mysql - grails/hibernate 是否在 PostgreSQL 中存储以毫秒为单位的日期?

postgresql - 合并两个分组?

python - 从 PostgreSQL 函数运行 Python 脚本

java - 元音变音/变元音在 Postgresql 中显示不正确(文本类型和字符类型不同)

python - Django 中的复合外键