Abgesehen von der Entfernung einiger MySQL-spezifischer Abfragen war die Migration ziemlich reibungslos. Das Problem ist nun, dass während der Entwicklung viel mehr Anfragen an die DB gestellt werden als zuvor.Umzug von MySQL nach Postgres on Rails 3
Started GET "/profiles/data" for 127.0.0.1 at Tue Sep 21 10:26:18 +0200 2010
Processing by ProfilesController#data as JSON
User Load (24.3ms) SELECT "users".* FROM "users" ORDER BY updated_at DESC LIMIT 1
CACHE (0.0ms) SELECT "users".* FROM "users" ORDER BY updated_at DESC LIMIT 1
SQL (10.5ms) SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"users"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
Jede einzelne Abfrage führt zu 3-8 zusätzlichen Abfragen wie oben. Was und warum passiert? Eines der Probleme ist nun, dass development.log aufgebläht und unlesbar ist. Ich verschwende viel Zeit dazwischen diesen Abfragen Scrollen für die richtige Sache suchen ...
Updates: Di 21. September
Dies ist nicht auf den Abfragetyp verwendet. Alle Abfragen generieren diese Art von stuph:
ree-1.8.7-2010.02 > User.first
SQL (0.3ms) SHOW client_min_messages
SQL (2.0ms) SET client_min_messages TO 'panic'
SQL (6.3ms) SET standard_conforming_strings = on
SQL (18.3ms) SET client_min_messages TO 'notice'
SQL (15.6ms) SET time zone 'UTC'
SQL (17.2ms) SHOW TIME ZONE
SQL (23.8ms) SELECT tablename FROM pg_tables WHERE schemaname = ANY (current_schemas(false))
User Load (162.4ms) SELECT "users".* FROM "users" LIMIT 1
SQL (7.5ms) SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc,
a.attnotnull FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid
AND a.attnum = d.adnum WHERE a.attrelid = '"users"'::regclass AND a.attnum > 0 AND
NOT a.attisdropped ORDER BY a.attnum
[...] 1 row in set ree-1.8.7-2010.02>
Veröffentlichen Sie die Abfrage, die die Anweisung generiert. Sie verwenden wahrscheinlich einen MySQL-orientierten Code. –
Nicht der Fall, Erklärung zu der Frage hinzugefügt. – mdrozdziel