Как использовать миграции для создания последовательности postgres? - PullRequest
2 голосов
/ 15 февраля 2010

Как использовать миграции для создания последовательности postgres?

Я создал файл миграции со следующими параметрами:

execute 'CREATE SEQUENCE "ServiceAvailability_ID_seq";'
execute <<-SQL
  ALTER TABLE "ServiceAvailability" 
    ALTER COLUMN "ID" set DEFAULT NEXTVAL("ServiceAvailability_ID_seq")
SQL

Однако при запуске rake db: migrate I 'получаю следующую ошибку:

PGError: ОШИБКА: столбец "ServiceAvailability_ID_seq" не существует: ALTER TABLE "ServiceAvailability" ALTER COLUMN "ID" set DEFAULT NEXTVAL ("ServiceAvailability_ID_seq")

Второй вопрос, rake db: schema: dump предназначен для создания файла, который можно переносимо использовать для любой БД, однако при исследовании схемы: dump он, по-видимому, содержит только информацию о таблице, поле и типе поля и пропускаетиз индексов и последовательностей?

Ответы [ 2 ]

1 голос
/ 15 февраля 2010

Это сработало

    execute 'CREATE SEQUENCE ServiceAvailability_ID_seq;'
execute <<-SQL
  ALTER TABLE "ServiceAvailability" 
    ALTER COLUMN "ID" set DEFAULT NEXTVAL('ServiceAvailability_ID_seq');
SQL
0 голосов
/ 19 мая 2010

На самом деле вы не должны использовать такие миграции, так как в будущем, если вы измените свой db на MySQL или любой другой db (поддерживаемый rails), вы столкнетесь с проблемами. Пожалуйста, ознакомьтесь с руководствами по Ruby on Rails по ссылке, приведенной ниже.

http://guides.rubyonrails.org/migrations.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...