Разрядное смещение также требуется при общении с "более низким уровнем" equiment, eq цифровой ethernet-IO - поля или PLC's, которые обычно упаковывают invidual значения ввода/вывода в байты.
Решил мой собственный вопрос ..
По сути, вместо того, чтобы редактировать исходные файлы миграции, созданные при запуске шаблонов, вы создаете новый файл миграции только для того, чего вы хотите добиться:
http : //guides.rubyonrails.org/migrations.html#creating-a-standalone-migration
Не знаю, применимо ли это, но попробовать стоит. Прямо из " Agile Development with Rails, 3rd edition ":
Иногда эта таблица schema_migrations может вызвать у вас проблемы. Например, если вы создаете
исходный файл миграции и запустите db: migrate
перед добавлением в файл каких-либо операторов, определяющих схему,
база данных будет думать, что она обновлена, а таблица с информацией о схеме будет содержать новую версию
количество.
Если вы затем отредактируете существующий файл миграции и снова запустите db: migrate
, Rails не узнает
примените свои новые изменения. В этих обстоятельствах часто проще всего отбросить базу данных, заново создать
его и перезапустите миграцию (-ы).
Вы всегда должны создавать новый файл миграции при добавлении / изменении чего-либо в базе данных. Это цель миграций. Файл миграции должен иметь возможность вносить новые изменения и отменять их. Таким образом, если что-то пойдет не так или вы передумаете, вы можете легко вернуться к предыдущей миграции.
Следующие разделы ссылки, помеченные как «Анатомия миграции» и «Написание миграции», могут быть вам полезны.