diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2019-10-02 04:59:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-02 04:59:37 +0200 |
commit | 62f60e86c281ae1cd0356a7630dbb76069e2ffde (patch) | |
tree | 9cf86a85bd836cab976dbff365a265f8735dd30f /db | |
parent | 9e3e3fa5ee3b63506e0fd6192c8357a012b98d7a (diff) |
Fix account counters being overwritten by parallel writes (#12045)
Diffstat (limited to 'db')
-rw-r--r-- | db/migrate/20191001213028_add_lock_version_to_account_stats.rb | 15 | ||||
-rw-r--r-- | db/schema.rb | 3 |
2 files changed, 17 insertions, 1 deletions
diff --git a/db/migrate/20191001213028_add_lock_version_to_account_stats.rb b/db/migrate/20191001213028_add_lock_version_to_account_stats.rb new file mode 100644 index 000000000..47f37cca2 --- /dev/null +++ b/db/migrate/20191001213028_add_lock_version_to_account_stats.rb @@ -0,0 +1,15 @@ +require Rails.root.join('lib', 'mastodon', 'migration_helpers') + +class AddLockVersionToAccountStats < ActiveRecord::Migration[5.2] + include Mastodon::MigrationHelpers + + disable_ddl_transaction! + + def up + safety_assured { add_column_with_default :account_stats, :lock_version, :integer, allow_null: false, default: 0 } + end + + def down + remove_column :account_stats, :lock_version + end +end diff --git a/db/schema.rb b/db/schema.rb index 557b777e0..2d516965c 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2019_09_27_232842) do +ActiveRecord::Schema.define(version: 2019_10_01_213028) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -97,6 +97,7 @@ ActiveRecord::Schema.define(version: 2019_09_27_232842) do t.datetime "created_at", null: false t.datetime "updated_at", null: false t.datetime "last_status_at" + t.integer "lock_version", default: 0, null: false t.index ["account_id"], name: "index_account_stats_on_account_id", unique: true end |