discourse/script
Andrei Prigorshnev 1656b7ed01
DEV: Make db_timestamp_mover work with tables with unique constraints (#14027)
Some tables in the database have constraints on columns with dates. Because of them, the script for moving timestamps can fail from time to time. This PR makes the script work with such tables.

In general, in PostgreSQL it is not always possible to defer constraint checks to the transaction commit (Primary Keys and Unique Constraints can be deferred, but them should be declared as DEFERRABLE to make it possible. Indices created with CREATE UNIQUE INDEX can't be deferred at all).

Since we can't defer constraint checks, I've made it work using a little hack. For example, if we need to move all timestamps by one day, the script will move timestamps by 1000 years and one day, and then return timestamps back by 1000 years. The script use this hack only for columns that have unique constraints.
2021-08-12 19:24:21 +04:00
..
benchmarks DEV: Correct typos and spelling mistakes (#12812) 2021-05-21 11:43:47 +10:00
bulk_import DEV: Add vBulletin5 bulk importer (#12904) 2021-04-30 11:03:33 -05:00
demon_test FIX: Revert Demon::DemonBase back to Demon::Base (#8132) 2019-10-02 14:54:08 +10:00
import_scripts DEV: minor improvements in the vanilla import script. (#14026) 2021-08-12 15:07:44 +05:30
.gitignore
alice.txt
analyze_sidekiq_queues.rb correct type 2019-05-22 12:28:17 +10:00
bench.rb DEV: Update facter usage 2020-06-01 05:50:49 +02:00
biggest_objects.rb DEV: add debugging scripts for memory leaks 2019-10-03 16:36:31 +10:00
boot_mem.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
cache_critical_dns DEV: Support env var for prometheus port in cache_critical_dns 2020-08-17 15:48:14 -04:00
check_forking.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
compile_hbs.rb Rename the server side widget hbs compiler 2020-03-27 12:06:14 -04:00
copyright-deposit Add script for compiling copyright deposits (#9646) 2020-05-06 12:51:45 -04:00
db_timestamps_mover.rb DEV: Make db_timestamp_mover work with tables with unique constraints (#14027) 2021-08-12 19:24:21 +04:00
diff_heaps.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
discourse FIX: typo in discourse 2021-06-30 11:08:29 -04:00
docker_test.rb DEV: Remove the remaining Travis code (#13255) 2021-06-02 20:29:47 +02:00
downsize_uploads.rb DEV: Improve script/downsize_uploads.rb (#13508) 2021-06-24 00:09:40 +02:00
i18n_lint.rb DEV: Clean up and refactor CI workflow(s) (#12144) 2021-02-22 10:28:32 +01:00
measure.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
memory-analysis DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
memstats.rb DEV: Apply Rubocop redundant return style 2019-11-14 15:10:51 -05:00
micro_bench.rb DEV: undo pluck_first changes to micro benchmark 2019-10-21 12:21:24 +01:00
mwrap_sidekiq PERF: avoid shelling to get hostname aggressively 2020-02-18 15:13:19 +11:00
profile_db_generator.rb FIX: ensure we consistently pick the same topic for bench 2020-01-08 16:33:45 +11:00
promote_migrations DEV: Update script/promote_migrations (#13513) 2021-06-24 13:57:23 +01:00
rails DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
redis_memory.rb DEV: s/\$redis/Discourse\.redis (#8431) 2019-12-03 10:05:53 +01:00
require_profiler.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
spawn_backup_restore.rb FIX: Killing a Unicorn worker shouldn't kill a running backup or restore process 2020-10-13 19:48:53 +02:00
switch_container_ruby
test_email_settings.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
test_hbs_compiler.rb REFACTOR: Remove Discourse.__widget_helpers 2020-08-06 14:35:46 -04:00
test_mem.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
test_memory_leak.rb DEV: improve diagnostics on mem leak checker 2019-10-04 09:47:33 +10:00
test_pretty_text.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
thread_detective.rb PERF: avoid spinning a thread each time we close a connection 2019-09-12 17:34:04 +10:00
user_simulator.rb DEV: User simulator tried to modify frozen string. 2019-08-16 17:32:17 +03:00