[Rails] Erste Dateneingabe mit seed_fu!

Was ist seed_fu?

seed-fu ist eine Syntax, mit der Sie nur die bereits vorhandenen Datensätze aktualisieren, aber ändern möchten, sie Datei für Datei ausführen und sie einfach schreiben können. Es ist ein bequemes Juwel mit Zucker.

Wie benutzt man

  1. Beschreiben Sie Folgendes in der Gemfile.

gem 'seed-fu'

Führen Sie dies auch aus.


$ bundle install
  1. Erstellen Sie ein Verzeichnis, um die Seed-Datei abzulegen.

#Must-Have-Verzeichnis
db/fixtures

#Erstellen Sie unterschiedliche Daten für jede Umgebung
db/fixtures/development
db/fixtures/production
  1. Erstellen Sie eine Seed-Datei in db / fixtures unten.

01_category.rb



Category.seed do |c|
  c.id = 1
  c.name = 'HTML'
end

Category.seed do |c|
  c.id = 2
  c.name = 'CSS'
end

Category.seed do |c|
  c.id = 3
  c.name = 'Ruby'
end
  1. Führen Sie den Befehl seed_fu aus.

$ rails db:seed_fu

Tipps

Verwenden Sie seed_once

Verwenden Sie seed_once, wenn Sie nach einmaligem Erstellen der Daten keine Aktualisierung durchführen möchten.


Category.seed_once do |s|
  s.id = 1
  s.name = 'HTML'
end


Category.seed(:id,
 { id: 1, name: 'HTML' },
 { id: 2, name: 'CSS' },
 { id: 3, name: 'Ruby' },
)

db/fixtures/development/category.csv



1,HTML
2,CSS
3,Ruby

db/fixtures/development/01_category.rb



require 'csv'

csv = CSV.read('db/fixtures/development/category.csv')
csv.each do |category|
 Category.seed do |s|
  s.id = category[0] #
  s.name = category[1] #Beim Erstellen einer Seed-Datei können Sie zusätzlich zur obigen Beschreibung wie folgt schreiben. Daten aus CSV-Datei erstellen * Elemente durch Kommas trennen. (Hier ID, Name in dieser Reihenfolge) Schreiben Sie den Prozess zum Lesen aus CSV. Hier id hier Name
 end
end

Führen Sie abschließend den folgenden Befehl aus


$ rails db:seed_fu

Benutzer erstellt

Verwenden Sie den Standard-Startwert, da das Kennwort in seed_fu nicht richtig festgelegt ist.

db/fixtures/development/00_user.rb



User.create!(id: 1, name: 'yuh', email: '[email protected]',
password: 'password', password_confirmation: 'password')

Recommended Posts

[Rails] Erste Dateneingabe mit seed_fu!
[Rails] Erste Datenerstellung mit Seed
Erstellen Sie eine EC-Site mit Rails5 seed ~ Startdateneingabe ~
Rails6: Geben Sie die Anfangsdaten von ActionText mit seed ein
[Ruby on Rails] Einführung der Anfangsdaten
[Schienen] Holen Sie sich die Standardeingabe für mehrzeilige Daten
[Rails 6] Zwei Methoden zur gleichzeitigen Eingabe mehrerer Bilder mit CarrierWave / (1) Eingabe mit anfänglichen Startdaten / (2) Import mit CSV
Starten Sie SQL Server mit Docker und registrieren Sie die Anfangsdaten
Ein Skript, das Yaml aus CSV erstellt, um Anfangsdaten in Rails with Fixtures einzufügen
Setup mit anfänglichen Testdaten, die in den Db2 / DB-Container eingefügt wurden
[Rails 6] Laufzeitfehler mit $ Rails s
Gerät mit Schienen handhaben
[Rails] Lernen mit Rails Tutorial
[Rails] Entwicklung mit MySQL
Unterstützt Mehrsprachigkeit mit Rails!
Zusammenfassung der ersten Arbeiten beim Erstellen einer App mit Rails
[Rails] Polymorph mit graphql-rubin ausdrücken
[Rails] Videos mit Rails hochladen (ActiveStorage)
[Vue Rails] "Hallo Vue!" Wird mit Vue + Rails angezeigt
Vorbereitung für die Entwicklung mit Rails
Führen Sie Rails immer im Docker aus
[Docker] Rails 5.2-Umgebungskonstruktion mit Docker
Verwenden Sie mit Rails 6.0 mehrere Datenbanken
[Rails] Geben Sie das Format mit link_to an
[Docker] Wird immer mit Docker + Rails verwendet
[Rails] Ich möchte beim Übergang mit link_to Daten zu Params hinzufügen