En este tutorial te enseñaré a llenar tu base de datos con datos aleatorios. Podrás llenar base de datos con teléfonos, direcciones, nombres, poemas, etc.
Costo Estimado : 0 USD
Crear y llenar una base de datos
Para crear la base de datos usé un bonito framework para ruby llamado sequel que de hecho es opensource.
La estructura basica es la siguiente
DB.create_table :users do
primary_key :id
String :identificador
String :username
String :fullname
String :email
foreign_key :user_session_state, :user_session_states
foreign_key :user_state, :user_states
String :phone
end
faker es otro framework opensource en ruby se usaría algo asi
users = DB[:users]
users.insert(identificador: Faker::Alphanumeric.alphanumeric(number: 10),username: Faker::Creature::Animal.name+prng.rand(1..100).to_s, fullname: Faker::Name.name, email: Faker::Internet.email, user_session_state:1, user_state:1, phone: Faker::PhoneNumber.phone_number+””)
cabe destacar que faker tiene implementaciones para otros lenguajes de programacion
En mi caso el script de creación de tablas usando sequel quedaría:
DB.create_table :app_themes do
primary_key :id
String :name
String :primary
end
DB.create_table :user_session_states do
primary_key :id
String :state
end
DB.create_table :user_states do
primary_key :id
String :state
end
DB.create_table :languages do
primary_key :id
String :identifier
String :lang
end
DB.create_table :users do
primary_key :id
String :identificador
String :username
String :fullname
String :email
foreign_key :user_session_state, :user_session_states
foreign_key :user_state, :user_states
String :phone
end
DB.create_table :about_states do
primary_key :id
String :state
foreign_key :user_id, :users
TrueClass :active
end
DB.create_table :user_configs do
primary_key :id
foreign_key :user_id, :users
foreign_key :language_id, :languages
foreign_key :app_theme, :app_themes
end
DB.create_table :image_sizes do
primary_key :id
String :size
Integer :height
Integer :width
end
DB.create_table :user_images do
primary_key :id
foreign_key :user_id, :users
foreign_key :image_size_id, :image_sizes
end
DB.create_table :rooms do
primary_key :id
String :name
TrueClass :is_private
end
DB.create_table :room_participants do
primary_key :id
foreign_key :room_id, :rooms
foreign_key :user_id, :users
end
DB.create_table :message_types do
primary_key :id
String :type
end
DB.create_table :messages do
primary_key :id
String :message
foreign_key :room_id, :rooms
foreign_key :user_id, :users
foreign_key :message_type_id, :message_types
end
DB.create_table :room_settings do
primary_key :id
String :primary_color
foreign_key :room_id, :rooms
end
DB.create_table :friend_states do
primary_key :id
String :state
end
DB.create_table :friends do
primary_key :id
foreign_key :friend_state, :friend_states
foreign_key :sender_id, :users
foreign_key :receptor_id, :users
end
posteriormente para insertar datos usé otro framework sencillamente genial llamado faker que también da la casualidad que es opensource.
users = DB[:users]
rooms = DB[:rooms]
messages = DB[:messages]
message_types = DB[:message_types]
room_participants = DB[:room_participants]
user_session_states = DB[:user_session_states]
user_states = DB[:user_states]
prng = Random.new
message_types.insert(type: 'General')
user_session_states.insert(state: 'Initial')
user_states.insert(state: 'Online')
3.times do
users.insert(identificador: Faker::Alphanumeric.alphanumeric(number: 10),username: Faker::Creature::Animal.name+prng.rand(1..100).to_s, fullname: Faker::Name.name, email: Faker::Internet.email, user_session_state:1, user_state:1, phone: Faker::PhoneNumber.phone_number+"")
rooms.insert(name: Faker::Team.sport, is_private: Faker::Boolean.boolean)
end
room_participants.insert(room_id:1,user_id:1)
room_participants.insert(room_id:1,user_id:2)
room_participants.insert(room_id:1,user_id:3)
room_participants.insert(room_id:2,user_id:1)
room_participants.insert(room_id:2,user_id:2)
room_participants.insert(room_id:2,user_id:3)
room_participants.insert(room_id:3,user_id:1)
room_participants.insert(room_id:3,user_id:2)
room_participants.insert(room_id:3,user_id:3)
300.times do
messages.insert(message: Faker::Fantasy::Tolkien.poem, room_id: prng.rand(1..3), user_id: prng.rand(1..3), message_type_id: 1)
end Te comparto aquí mis recomendaciones de cursos de Código Facilito. Codigofacilito.com es una plataforma virtual…
Te comparto aquí mis recomendaciones de cursos de Linkedin Learning. LinkedIn Learning es una plataforma…
Estos snippets de código para entrevista acerca de mockito espero te sean de mucha utilidad.…
En este tutorial aprenderá a usar expresiones regulares en Java de manera práctica para contar…
¿Entrevista de programación Java fullstack? No te preocupes, te tengo un compendio de preguntas de…
Te recomiendo algunos cursos de Udemy para mejorar tus softskills y así mejorar en tu…