summaryrefslogtreecommitdiffstats
path: root/db
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2018-11-27 13:56:25 +0100
committerGitHub <noreply@github.com>2018-11-27 13:56:25 +0100
commit4afda5444a3cc864cb0f9a4f59493022d8a5e080 (patch)
treecd11982276089a98eb7f3558716ed16c4f774572 /db
parent2ba5d63a052300f4f81658eb5f582eed0c6ad6e4 (diff)
Change identities id column to a bigint (#9371)
* fix: change Identity's id column to a bigint This appears to be the last model created using a 5.0 migration, where column types defaulted to `integer` rather than `bigint`. This migration changes the column type to match that of all of the other ID columns. * Change user_id column in identities to bigint and fix down-migration
Diffstat (limited to 'db')
-rw-r--r--db/migrate/20181127130500_identity_id_to_bigint.rb27
-rw-r--r--db/schema.rb8
2 files changed, 31 insertions, 4 deletions
diff --git a/db/migrate/20181127130500_identity_id_to_bigint.rb b/db/migrate/20181127130500_identity_id_to_bigint.rb
new file mode 100644
index 00000000000..5f388aca7c7
--- /dev/null
+++ b/db/migrate/20181127130500_identity_id_to_bigint.rb
@@ -0,0 +1,27 @@
+require Rails.root.join('lib', 'mastodon', 'migration_helpers')
+
+class IdentityIdToBigint < ActiveRecord::Migration[5.2]
+ include Mastodon::MigrationHelpers
+
+ disable_ddl_transaction!
+
+ def up
+ safety_assured do
+ change_column_type_concurrently :identities, :id, :bigint
+ cleanup_concurrent_column_type_change :identities, :id
+
+ change_column_type_concurrently :identities, :user_id, :bigint
+ cleanup_concurrent_column_type_change :identities, :user_id
+ end
+ end
+
+ def down
+ safety_assured do
+ change_column_type_concurrently :identities, :id, :integer
+ cleanup_concurrent_column_type_change :identities, :id
+
+ change_column_type_concurrently :identities, :user_id, :integer
+ cleanup_concurrent_column_type_change :identities, :user_id
+ end
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index b0f14954f89..d6752144255 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: 2018_11_16_184611) do
+ActiveRecord::Schema.define(version: 2018_11_27_130500) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -235,12 +235,12 @@ ActiveRecord::Schema.define(version: 2018_11_16_184611) do
t.index ["target_account_id"], name: "index_follows_on_target_account_id"
end
- create_table "identities", id: :serial, force: :cascade do |t|
- t.integer "user_id"
+ create_table "identities", force: :cascade do |t|
t.string "provider", default: "", null: false
t.string "uid", default: "", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
+ t.bigint "user_id"
t.index ["user_id"], name: "index_identities_on_user_id"
end
@@ -651,7 +651,7 @@ ActiveRecord::Schema.define(version: 2018_11_16_184611) do
add_foreign_key "follow_requests", "accounts", name: "fk_76d644b0e7", on_delete: :cascade
add_foreign_key "follows", "accounts", column: "target_account_id", name: "fk_745ca29eac", on_delete: :cascade
add_foreign_key "follows", "accounts", name: "fk_32ed1b5560", on_delete: :cascade
- add_foreign_key "identities", "users", on_delete: :cascade
+ add_foreign_key "identities", "users", name: "fk_bea040f377", on_delete: :cascade
add_foreign_key "imports", "accounts", name: "fk_6db1b6e408", on_delete: :cascade
add_foreign_key "invites", "users", on_delete: :cascade
add_foreign_key "list_accounts", "accounts", on_delete: :cascade