gpt4 book ai didi

ruby-on-rails - Rails:对于SQLite,PRAGMA FOREIGNS KEYS = ON的放置位置

转载 作者:行者123 更新时间:2023-12-03 19:44:17 25 4
gpt4 key购买 nike

我应该将"PRAGMA FOREIGNS KEYS = ON;"放在rails 4.0中的什么位置?

我知道它是连接设置,因此无论何时删除某些内容,我都必须使其滑入,但是我不知道将其放置在何处。我在选项中的database.yml中尝试过,但无法正常工作。谷歌不能把它放在哪里。我希望它使级联删除工作。

最佳答案

语法是这样的:

drop table if exists db_name.table_name


如果存在,则为db_name。零件是可选的。那里没有CASCADE,因此在使用DROP TABLE时SQLite根本不支持CASCADE,并且您无能为力来添加它(当然,除非您想破解SQLite C源代码并自己添加它)。使用SQLite时,您必须接受某些限制,这是其中之一。

如果您想同时对SQLite和MySQL使用一次迁移,则必须检查正在使用的数据库并执行适当的SQL或查找可在任何地方使用的东西(即,手动执行CASCADE)。我现在可以想到的一种检查您正在使用的数据库的简单方法是:

    case connection
when ActiveRecord::ConnectionAdapters::PostgreSQLAdapter
# PostgreSQL things go here
when ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter
# MySQL things go here
when ActiveRecord::ConnectionAdapters::SQLiteAdapter
# SQLite things go here

...
end

关于ruby-on-rails - Rails:对于SQLite,PRAGMA FOREIGNS KEYS = ON的放置位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24285428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com