Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'json'
- puts 'Cleaning database...'
- Ad.destroy_all
- AdAddress.destroy_all
- AdCopy.destroy_all
- Beach.destroy_all
- Category.destroy_all
- Subcategory.destroy_all
- Relationship.destroy_all
- User.destroy_all
- user = User.first_or_initialize(email: "admin@admin.com", password: "admin1")
- user.save
- filepath = 'db/qqx486.json'
- serialized_ads = File.read(filepath)
- parsed_json = JSON.parse(serialized_ads)
- json_ads = parsed_json.find { |table| table['name'] == 'anuncios' }
- ads = {}
- puts 'Creating ads...'
- json_ads['data'].each do |ad|
- ads[ad['id']] = Ad.create!(
- user_id: user.id,
- company: ad["empresa"],
- principle_tel: ad["tel"],
- principle_mob: ad["movil_principal"],
- principle_fax: ad["fax_principal"],
- principle_email: ad["email_principal"],
- website: ad["web"],
- facebook: ad["facebook"],
- twitter: ad["twitter"],
- instagram: ad["instagram"],
- timetable_summer: ad["horario_v_principal"],
- timetable_winter: ad["horario_i_principal"],
- subtitle: ad["subtitulo"],
- address: ad["direccion_principal"],
- city: ad["poblacion_principal"],
- island: ad["isla"],
- active: ad["activo"],
- ad_size: ad["tam_anuncio"]
- )
- end
- puts 'Creating categories...'
- json_categories = parsed_json.find { |table| table['name'] == 'categorias' }
- categories = {}
- json_categories['data'].each do |category|
- categories[category['id']] = Category.create!(
- user_id: user.id,
- name: category["nombre"]
- )
- end
- puts 'Creating subcategories...'
- json_subcategories = parsed_json.find { |table| table['name'] == 'rel_anuncio' }
- subcategories = {}
- json_subcategories['data'].each do |subcategory|
- subcategories[subcategory['id']] = Subcategory.create!(
- category: categories[subcategory['id_categoria']],
- name: subcategory["nombre"]
- )
- end
- puts 'Creating relationships...'
- json_relationships = parsed_json.find { |table| table['name'] == 'rel_anuncio' }
- json_relationships['data'].each do |relationship|
- Relationship.create!(
- category: categories[relationship["id_categoria"]],
- ad: ads[relationship["id_anuncio"]],
- subcategory: subcategories[relationship["id_subcategoria"]]
- )
- end
- puts 'Finished!'
- ActiveRecord::RecordInvalid: Validation failed: Subcategory must exist
- /Users/owenmoss/code/OKMantis/isla_blanca/db/seeds.rb:78:in `block in <top (required)>'
- /Users/owenmoss/code/OKMantis/isla_blanca/db/seeds.rb:77:in `each'
- /Users/owenmoss/code/OKMantis/isla_blanca/db/seeds.rb:77:in `<top (required)>'
- /Users/owenmoss/code/OKMantis/isla_blanca/bin/rails:9:in `require'
- /Users/owenmoss/code/OKMantis/isla_blanca/bin/rails:9:in `<top (required)>'
- /Users/owenmoss/code/OKMantis/isla_blanca/bin/spring:15:in `<top (required)>'
- ./bin/rails:3:in `load'
- ./bin/rails:3:in `<main>'
- Tasks: TOP => db:seed
- (See full trace by running task with --trace)
- class Relationship < ApplicationRecord
- belongs_to :ad, optional: true
- belongs_to :category, optional: true
- belongs_to :subcategory, optional: true
- end
- class Ad < ApplicationRecord
- has_many :ad_copies
- has_many :ad_addresses
- has_many :categories, through: :relationships
- has_many :relationships
- belongs_to :user
- end
- class Category < ApplicationRecord
- has_many :subcategories
- has_many :ads, through: :relationships
- has_many :relationships
- belongs_to :user
- end
- class Subcategory < ApplicationRecord
- has_many :ads, through: :relationships
- has_many :relationships
- belongs_to :category
- end
- [
- {"type":"header","version":"4.7.9","comment":"Export to JSON plugin for PHPMyAdmin"},
- {"type":"database","name":"qqx486"},
- {"type":"table","name":"anuncios","database":"qqx486","data":
- [
- {"id":"1","empresa":"Wok Bufet Gran Oriente","tel":"971 315 964","fax_principal":"","movil_principal":"","email_principal":"","web":"","facebook":"","horario_v_principal":"","horario_i_principal":"Abierto mediodu00eda y noche","direccion_principal":"C/ Josu00e9 Zornoza Bernabeu, 15, L2","poblacion_principal":"EIVISSA","activo":"no","tam_anuncio":"completa","twitter":"","link":"no","general":"no","isla":"ibiza","subtitulo":"","comentario":"","modificacion":"0000-00-00 00:00:00","promo1":"0","promo2":"0","instagram":"","tel2":"","tel3":"","tel4":"","movil2":"","movil3":"","movil4":""},
- ]
- }
- ,{"type":"table","name":"anuncios_direcciones","database":"qqx486","data":
- [
- {"id":"157","id_anuncio":"1","direccion":"C/ Sant Jaume, 114","poblacion":"SANTA EULu00c0RIA","telefono":" 971 336 274","fax":"","movil":"","email":"","horario_i":"","horario_v":""},
- ]
- }
- ,{"type":"table","name":"anuncios_gps_a","database":"qqx486","data":
- [
- {"id":"1","id_anuncio":"22","lat":"38.9082100","lon":"1.4289690","accuracy":"10"},
- ]
- }
- ,{"type":"table","name":"anuncios_gps_b","database":"qqx486","data":
- [
- {"id_anuncio_direcciones":"459","id_anuncio":"1068","lat":"0.0000000","lon":"0.0000000","acc":"0"},
- ]
- }
- ,{"type":"table","name":"anuncios_textos","database":"qqx486","data":
- [
- {"id_anuncio":"1","id_idioma":"1","descripcion":""},
- ]
- }
- ,{"type":"table","name":"caracteristicas","database":"qqx486","data":
- [
- {"id":"1","nombre":"Jardu00edn"},
- ]
- }
- ,{"type":"table","name":"caracteristicas_textos","database":"qqx486","data":
- [
- {"id_caracteristica":"1","id_idioma":"1","titulo":"Jardu00edn"},
- ]
- }
- ,{"type":"table","name":"categorias","database":"qqx486","data":
- [
- {"id":"1","nombre":"RESTAURANTES Y ALIMENTACIu00d3N","color":"","activo":"si","bdd":"guias","orden":"1","promoI":"0","promoF":"0","islas":"3"},
- ]
- }
- ,{"type":"table","name":"categorias_porsi","database":"qqx486","data":
- [
- {"id":"1","nombre":"RESTAURANTES Y ALIMENTACIu00d3N","color":"","activo":"si","bdd":"guias","orden":"1","promoI":"0","promoF":"0"},
- ]
- }
- ,{"type":"table","name":"categorias_textos","database":"qqx486","data":
- [
- {"id_categoria":"1","id_idioma":"1","titulo":"RESTAURANTES Y ALIMENTACIu00d3N","clave":""},
- ]
- }
- ,{"type":"table","name":"enlaces","database":"qqx486","data":
- [
- {"id":"1","nombre":"Digital Grafic Ibiza","web":"http://www.bestof.org"}
- ]
- }
- ,{"type":"table","name":"enlaces_textos","database":"qqx486","data":
- [
- {"id_enlace":"1","id_idioma":"1","descripcion":"Empresa en Ibiza"},
- ]
- }
- ,{"type":"table","name":"idiomas","database":"qqx486","data":
- [
- {"id":"1","nombre":"Espau00f1ol","self":"es","color":"F00"},
- ]
- }
- ,{"type":"table","name":"inmuebles","database":"qqx486","data":
- [
- {"id":"1","ref":"Roca Llisa","id_inmobiliaria":"91","tipo":"piso","estado":"","zona":"Santa Eulalia","sup_vivienda":"0","sup_parcela":"0","sup_terrazas":"0","plantas":"0","dormitorios":"3","banyos":"2","piscina":"no","parking":"no","entorno":"","precio":"380000","activo":"si"},
- ]
- }
- ,{"type":"table","name":"inmuebles_textos","database":"qqx486","data":
- [
- {"id_inmueble":"1","id_idioma":"1","titulo":"Roca Llisa","descripcion":"Apartamento du00faplex, cocina, salu00f3n/comedor, 2 terrazas, preciosas vistas al mar, piscina y paddle tenis comunitarios."},
- ]
- }
- ,{"type":"table","name":"playas","database":"qqx486","data":
- [
- {"id":"1","nombre":"PLATJA DE TALAMANCA","longitud":"900","orientacion":"SE","google":"https://www.google.es/maps/place/Cala+Talamanca/@38.9132677,1.4565971,16z/data=!4m2!3m1!1s0x1299414743b6e207:0xe628e2f006419c0d","cnauticas":"38u00b055u201900.8u201dN 1u00b027u201916.8u201dE","municipio":"Eivissa","activo":"si","orden":"0"},
- ]
- }
- ,{"type":"table","name":"playas_textos","database":"qqx486","data":
- [
- {"id_playa":"1","id_idioma":"1","breve":"Playa de arena fina a pocos minutos a pie de Marina Botafoch y a 1,8 km. del centro de la ciudad de Eivissa.","descripcion":"Se trata de una bahu00eda cerrada, poco profunda, ideal para el bau00f1o sin ningu00fan peligro y muy bien protegida por los vientos. Gran variedad en restaurantes, bares y chiringuitos, incluso algunos estu00e1n abiertos todo el au00f1o. Existe una pasarela de madera a lo largo de casi toda la playa. Se realizan cursos para iniciarse en deportes nu00e1uticos como el catamaru00e1n, kayak y windsurf.","servicios":"Restaurantes y chiringuitos u2013 Hoteles u2013 Alquiler de tumbonas y sombrillas u2013 Deportes acuu00e1ticos u2013 Duchas y WC pu00fablicos u2013 Acceso minusvu00e1lidos u2013 Parking gratis u2013 Transporte pu00fablico.","llegar":"En coche, en autobu00fas de lu00ednea regular o en una barquita que va del puerto de Eivissa hasta Botafoch, y de ahu00ed puede ir andando llegando en pocos minutos."},
- ]
- }
- ,{"type":"table","name":"promo","database":"qqx486","data":
- [
- {"id":"1","idioma":"1","empresa_id":"943","titulo":"10% Descuento","tituloCR":"8","tituloCG":"8","tituloCB":"8","tituloFS":"20","texto1":"7 horas de fiesta y mucho mu00e1s","texto1CR":"255","texto1CG":"255","texto1CB":"255","texto1FS":"20","fondo1CR":"255","fondo1CG":"43","fondo1CB":"227","fondo1CA":"90","texto2":"","foto1":"","foto2":"","code":"Cu00f3digo: Isla Blanca","tiempo1":"0000-00-00 00:00:00","tiempo2":"0000-00-00 00:00:00","activo":"2","status":"1","orden":"1"},
- ]
- }
- ,{"type":"table","name":"rel_anuncio","database":"qqx486","data":
- [
- {"id_anuncio":"814","id_categoria":"7","id_subcategoria":"81","orden":"37"},
- ]
- }
- ,{"type":"table","name":"rel_guias","database":"qqx486","data":
- [
- {"id_anuncio":"7","id_guia":"1"},
- ]
- }
- ,{"type":"table","name":"rel_inmuebles","database":"qqx486","data":
- [
- {"id_inmueble":"1","id_caracteristica":"2"},
- ]
- }
- ,{"type":"table","name":"subcategorias","database":"qqx486","data":
- [
- {"id":"1","id_categoria":"1","nombre":"Restaurantes","color":"","activo":"si","orden":"1","promoI":"0","promoF":"0","islas":"3"},
- ]
- }
- ,{"type":"table","name":"subcategorias_porsi","database":"qqx486","data":
- [
- {"id":"1","id_categoria":"1","nombre":"Restaurantes","color":"","activo":"si","orden":"1","promoI":"0","promoF":"0"},
- ]
- }
- ,{"type":"table","name":"subcategorias_textos","database":"qqx486","data":
- [
- {"id_subcategoria":"1","id_idioma":"1","nombre":"Restaurantes","clave":"restaurantes, pizzeru00edas, los productos de alimentaciu00f3n, almuerzos, cenas, fiestas, cu00f3cteles, cocktails, comen, comer, beber, las cocinsa mediterru00e1neas, barras, comedores, comiento, sitios para comer, restaurantes especializados en bistecs, el alimento japonu00e9s, comida japonesa, el alimento espau00f1ol, comida espau00f1ola, el alimento italiano, comida italiana, parrillas, la cocina francesa, el alimento alemu00e1n, comida alemana, comidas, licores, mariscos, el alimento asiu00e1tico, comida asiu00e1tica, pescados, mariscos, camarones, gambas, tabernas,"},
- ]
- }
- ,{"type":"table","name":"version","database":"qqx486","data":
- [
- {"id":"32"}
- ]
- }
- ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement