Некоторые типы данных Rails

Некоторые типы данных Rails

Широко распространенные типы данных в Rails. Гео-координаты и деньги. Гео-данные - координаты точки на карте. Деньги - стоимость товаров и услуг, прайс-лист, финансовые данные. Пример для PostgreSQL. Правильный тип данных имеет важное значение для работы и поддержки приложения.  

Гео-данные

rails g Location 'lng:decimal{10,6}' 'lat:decimal{10,6}'

миграция

add_column :locations, :lng, :decimal, precision: 20, scale: 6, default: 0.0
add_column :locations, :lat, :decimal, precision: 20, scale: 6, default: 0.0

Деньги

rails g model Product 'price:decimal{19,4}'

миграция

add_column :products, :price, :decimal, pecision: 19, scale: 4, default: 0

Уникальный индекс только для заполненных полей

add_index :articles, :slug, unique: true, where: "slug != ''"