Cituji manuál o ALTER TABLE
:
Pokud neexistuje žádné implicitní nebo přiřazení ze starého na nový typ, musí být poskytnuta klauzule USING.
Co potřebujete:
ALTER TABLE listings ALTER longitude TYPE integer USING longitude::int; ALTER TABLE listings ALTER latitude TYPE integer USING latitude::int;
Nebo kratší a rychlejší (pro velké stoly) jedním příkazem:
ALTER TABLE listings ALTER longitude TYPE integer USING longitude::int
,ALTER latitude TYPE integer USING latitude::int;
Toto funguje s daty nebo bez nich pokud jsou všechny položky převoditelné na integer
.
Pokud jste definovali DEFAULT
pro sloupec, možná jej budete muset vypustit a znovu vytvořit pro nový typ.
Zde je článek na blogu o tom, jak to udělat s ActiveRecord.
Nebo použijte radu @mu v komentáři. Zná svou Ruby. Zde jsem dobrý pouze s PostgreSQL.