Skip to content

Commit

Permalink
make the seeds safe to rerun
Browse files Browse the repository at this point in the history
Use find_or_create_by() to try to locate an existing seed record or
create it if not found.

For the user record, use where().first_or_create() because we cannot
lookup a user by password, so find them by email and, if not found,
create them and set their password and role.

Signed-off-by: Robb Kidd <[email protected]>
  • Loading branch information
robbkidd authored and mirandawang committed Nov 3, 2018
1 parent 0eab685 commit 05930f8
Showing 1 changed file with 39 additions and 37 deletions.
76 changes: 39 additions & 37 deletions rails/db/seeds.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,46 +5,48 @@
#
# movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }])
# Character.create(name: 'Luke', movie: movies.first)
Place.create(name: 'Afitimamau', type_of_place: 'dang');
Place.create(name: 'Amenusu', type_of_place: 'kampu');
Place.create(name: 'Bakaafeeti', type_of_place: 'hila');
Point.create(title: "Ocean", lng: -55.2452415, lat: 3.827618371, region: "Kumiade", place: Place.first)
Point.create(title: "Pond", lng: -55.23122, lat: 5.3351, region: "Kumiade", place: Place.second)
Point.create(title: "Flowing Water", lng: -56.875, lat: 5.8881435, region: "Tukumutu", place: Place.third)
Point.create(title: "Flaming Forest", lng: -56.12357544, lat: 3.1156739, region: "Kwata Ede", place: Place.fourth)
Point.create(title: "Sacred Forest Tree", lng: -56.87875645, lat: 4.897634332, region: "Tukumutu", place: Place.first)
Speaker.create(name: "Speaker Name")
afitimamau = Place.find_or_create_by(name: 'Afitimamau', type_of_place: 'dang');
amenusu = Place.find_or_create_by(name: 'Amenusu', type_of_place: 'kampu');
bakaafeeti = Place.find_or_create_by(name: 'Bakaafeeti', type_of_place: 'hila');
ocean = Point.find_or_create_by(title: "Ocean", lng: -55.2452415, lat: 3.827618371, region: "Kumiade", place: afitimamau)
pond = Point.find_or_create_by(title: "Pond", lng: -55.23122, lat: 5.3351, region: "Kumiade", place: amenusu)
water = Point.find_or_create_by(title: "Flowing Water", lng: -56.875, lat: 5.8881435, region: "Tukumutu", place: bakaafeeti)
flaming_forest = Point.find_or_create_by(title: "Flaming Forest", lng: -56.12357544, lat: 3.1156739, region: "Kwata Ede", place: bakaafeeti)
sacred_tree = Point.find_or_create_by(title: "Sacred Forest Tree", lng: -56.87875645, lat: 4.897634332, region: "Tukumutu", place: afitimamau)
speaker = Speaker.find_or_create_by(name: "Speaker Name")

Story.create(title: "Fa di Saamaka sembe bi haba a beligi",
desc: "Het is al geruime tijd een bekend gegeven dat een lezer, tijdens het bekijken van de layout van een pagina, afgeleid wordt door de tekstuele inhoud. Het belangrijke punt van het gebruik van Lorem Ipsum is dat het uit een min of meer normale verdeling van letters bestaat, in tegenstelling tot 'Hier uw tekst, hier uw tekst' wat het tot min of meer leesbaar nederlands maakt.",
speaker: Speaker.first,
point: Point.first,
permission_level: 0)
Story.find_or_create_by(title: "Fa di Saamaka sembe bi haba a beligi",
desc: "Het is al geruime tijd een bekend gegeven dat een lezer, tijdens het bekijken van de layout van een pagina, afgeleid wordt door de tekstuele inhoud. Het belangrijke punt van het gebruik van Lorem Ipsum is dat het uit een min of meer normale verdeling van letters bestaat, in tegenstelling tot 'Hier uw tekst, hier uw tekst' wat het tot min of meer leesbaar nederlands maakt.",
speaker: speaker,
point: ocean,
permission_level: 0)

Story.create(title: "Di twaalfu lampeesi fu Toido",
desc: "Veel desktop publishing pakketten en web pagina editors gebruiken tegenwoordig Lorem Ipsum als hun standaard model tekst, en een zoekopdracht naar 'lorem ipsum' ontsluit veel websites die nog in aanbouw zijn. Verscheidene versies hebben zich ontwikkeld in de loop van de jaren, soms per ongeluk soms expres (ingevoegde humor en dergelijke).",
speaker: Speaker.first,
point: Point.first,
permission_level: 0)
Story.find_or_create_by(title: "Di twaalfu lampeesi fu Toido",
desc: "Veel desktop publishing pakketten en web pagina editors gebruiken tegenwoordig Lorem Ipsum als hun standaard model tekst, en een zoekopdracht naar 'lorem ipsum' ontsluit veel websites die nog in aanbouw zijn. Verscheidene versies hebben zich ontwikkeld in de loop van de jaren, soms per ongeluk soms expres (ingevoegde humor en dergelijke).",
speaker: speaker,
point: ocean,
permission_level: 0)

Story.create(title: "Fa di gaan sembe veloisi go aki",
desc: "r zijn vele variaties van passages van Lorem Ipsum beschikbaar maar het merendeel heeft te lijden gehad van wijzigingen in een of andere vorm, door ingevoegde humor of willekeurig gekozen woorden die nog niet half geloofwaardig ogen.",
speaker: Speaker.first,
point: Point.second,
permission_level: 1)
Story.find_or_create_by(title: "Fa di gaan sembe veloisi go aki",
desc: "r zijn vele variaties van passages van Lorem Ipsum beschikbaar maar het merendeel heeft te lijden gehad van wijzigingen in een of andere vorm, door ingevoegde humor of willekeurig gekozen woorden die nog niet half geloofwaardig ogen.",
speaker: speaker,
point: pond,
permission_level: 1)

Story.create(title: "Mama Tjowa",
desc: "Als u een passage uit Lorum Ipsum gaat gebruiken dient u zich ervan te verzekeren dat er niets beschamends midden in de tekst verborgen zit. Alle Lorum Ipsum generators op Internet hebben de eigenschap voorgedefinieerde stukken te herhalen waar nodig zodat dit de eerste echte generator is op internet.",
speaker: Speaker.first,
point: Point.third,
permission_level: 1)
Story.find_or_create_by(title: "Mama Tjowa",
desc: "Als u een passage uit Lorum Ipsum gaat gebruiken dient u zich ervan te verzekeren dat er niets beschamends midden in de tekst verborgen zit. Alle Lorum Ipsum generators op Internet hebben de eigenschap voorgedefinieerde stukken te herhalen waar nodig zodat dit de eerste echte generator is op internet.",
speaker: speaker,
point: water,
permission_level: 1)

Story.create(title: "Fa di Kwinti nengeb bi feti ku Matawai sembe",
desc: "In tegenstelling tot wat algemeen aangenomen wordt is Lorem Ipsum niet zomaar willekeurige tekst. het heeft zijn wortels in een stuk klassieke latijnse literatuur uit 45 v.Chr. en is dus meer dan 2000 jaar oud.",
speaker: Speaker.first,
point: Point.fourth,
permission_level: 1)
Story.find_or_create_by(title: "Fa di Kwinti nengeb bi feti ku Matawai sembe",
desc: "In tegenstelling tot wat algemeen aangenomen wordt is Lorem Ipsum niet zomaar willekeurige tekst. het heeft zijn wortels in een stuk klassieke latijnse literatuur uit 45 v.Chr. en is dus meer dan 2000 jaar oud.",
speaker: speaker,
point: flaming_forest,
permission_level: 1)

User.create(email: '[email protected]',
password: 'password',
role: 1)
User.where(email: '[email protected]')
.first_or_create do |admin|
admin.password = 'password',
admin.role = 1
end

0 comments on commit 05930f8

Please sign in to comment.