Как создать триггеры mysql с помощью миграций в направляющих?

Необходимо знать о порядке байтов ЦП, а также сетевом порядке байтов.

Обычно для TCP/UDP comms, Вы всегда преобразовываете данные в сетевой порядок байтов с помощью htons функция (и ntohs и их связанные функции).

порядок сети Normally является обратным порядком байтов, но в этом случае (по некоторым причинам!) comms является прямым порядком байтов, таким образом, те функции не очень полезны. Это важно, поскольку Вы не можете принять UDP comms, они реализовали, следуют любым другим стандартам, он также делает жизнь трудной, если у Вас есть архитектура с обратным порядком байтов, поскольку Вы просто не можете обернуть все с htons, поскольку Вы должны:-(

Однако, если Вы происходите из архитектуры Intel x86, тогда Вы уже - прямой порядок байтов, поэтому просто отправляете данные без преобразования.

17
задан Srinivas M.V. 27 October 2009 в 09:22
поделиться

1 ответ

Не существует волшебного метода, позволяющего создать триггер без написания SQL.
Но вы можете выполнить необработанный sql внутри любой миграции.

def self.up
    execute <<-SQL
        CREATE TRIGGER my_trigger ...
    SQL
end

Затем вам просто нужно соответствующим образом написать свой триггер или обновить его в зависимости от миграции.

Изменить : Я только что нашел rails_on_pg , который помогает при миграции.
Он не работает ни с одним другим сервером баз данных, кроме PgSQL. Но это может быть хорошим ориентиром, если вы собираетесь написать какой-нибудь помощник по запуску MySQL.

23
ответ дан 30 November 2019 в 12:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: