Я использую Rails 5.1, размещенный на Heroku, и использую следующую команду для переноса моей базы данных:
heroku run rake db:migrate -a [my app name]
Все миграции выполняются правильно:
SQL (1.6ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180504164326"]]
(2.1ms) COMMIT
Migrating to AddPinToStaff (20180519024721)
(1.5ms) BEGIN
== 20180519024721 AddPinToStaff: migrating ====================================
-- add_column(:staff, :pin_number, :string)
(4.2ms) ALTER TABLE "staff" ADD "pin_number" character varying
-> 0.0045s
== 20180519024721 AddPinToStaff: migrated (0.0046s) ===========================
Это последний созданный мной файл миграции, так что, похоже, все работает.Затем он запускается:
SQL (1.6ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180519024721"]]
(2.4ms) COMMIT
ActiveRecord::InternalMetadata Load (1.7ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]]
(1.3ms) BEGIN
SQL (1.6ms) INSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "key" [["key", "environment"], ["value", "beta"], ["created_at", "2018-06-04 18:54:24.766405"], ["updated_at", "2018-06-04 18:54:24.766405"]]
(2.1ms) COMMIT
(1.4ms) SELECT pg_advisory_unlock(5988010931190918735)
И он висит там при последнем операторе SELECT.Что такое pg_advisory_unlock
и почему он работает?Чтение этого сообщения в блоге кажется, что они должны быть вызваны из моего приложения где-то, но я не могу найти подобный текст в моем приложении.Пожалуйста, помогите!