Некоторые типы данных 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 != ''"