J'utilise les rails 3 et je dois exécuter raw sql dans l'une de mes migrations et je dois le faire en utilisant une instruction préparée car c'est le meilleur moyen d'échapper aux problèmes qui se posent , déclaration ou autre. Y at-il un moyen où je peux exécuter plusieurs instructions sql dans une seule instruction de préparation. J'utilise PostgreSQL pour ma base de donnéesInsérer plusieurs commandes dans des rails de requête préparés
Voici mon code que j'ai essayé
CONN = ActiveRecord::Base.connection.raw_connection
sql = %Q[
INSERT INTO table1
(
name,
email,
phone,
created_at,
updated_at
)
VALUES
(
$1,
$2,
$3,
current_timestamp,
current_timestamp
);
UPDATE table2
SET column_1 = $1
WHERE id = $4;
UPDATE contacts SET
column_2 = $2
WHERE id = $4
]
CONN.prepare('insert_and_update', sql)
CONN.exe_prepared('insert_and_update', [
name,
email,
phone,
customer.id
])
Mais je reçois erreur
cannot insert multiple commands into a prepared statement
Et si je veux quelque chose comme 'set local intervalstyle = postgres_verbose;'? Il ne peut pas aller à CTE. – mlt