DBに制約を張る このようなテーブルがあったとします。 CREATE TABLE products( id serial NOT NULL, code varchar NOT NULL, price integer NOT NULL CHECK (price > 0), CONSTRAINT pk_products PRIMARY KEY (id) ); 各カラムにNOT NULL制約 priceにCHECK制約 という2点を除けば、rails g migrationで作られるものと同じだと思います。 このテーブルにおいて、 ActiveRecord::Base.transaction do CSV.foreach(csv_path) do |row| code, price = row[0], row[1] Product.create!(code: code, price: price