我的应用使用 private readonly DbContextOptions _options;
。
我需要从一组表(Postgresql
到table1
)中删除所有行,并使用rb文件中的一个命令重新启动table4
。
在Postgresql documentation我发现TRUNCATE with RESTART IDENTITY可以完成以下工作:
id
根据Stackoverflow的How to restart id counting on a table in PostgreSQL after deleting some previous data?,我可以使用以下命令:
TRUNCATE table1, table2, table3, table4 RESTART IDENTITY;
因此,将两个文档放在一起,使用以下命令是否正确:
ActiveRecord::Base.connection.execute("TRUNCATE TABLE your_table_name RESTART IDENTITY")
考虑到在API dock文档中,ActiveRecord::Base.connection.execute("TRUNCATE table1, table2, table3, table4 RESTART IDENTITY")
方法被报告为已弃用或已移动?
答案 0 :(得分:1)
现在推荐的方法是使用ActiveRecord::Base.connection_pool.with_connection
块。
ActiveRecord::Base.connection_pool.with_connection do |conn|
conn.execute("TRUNCATE table1, table2, table3, table4 RESTART IDENTITY")
end