Esta semana analizaremos un reto que va encantar a cualquier vendedor:
La instantánea «database-in-a-box» o una plantilla de uso general:
Queremos ser capaces de utilizar SnowSQL para apuntar hacia este script en el extremo 1, y la instancia de Snowflake de destino en el otro, y crear una base de datos utilizable al instante.
Cree un Script Primario (en un formato a su elección), que cree lo siguiente si se ejecuta :
– 4 bases de datos, denominadas: Development, Testing, Acceptance, y Production
– 1 esquema adicional en cada base de datos (además de Public) llamado security
– 1 esquema adicional en Desarrollo llamado ‘dev_user’
– 3 usuarios: security_user, dev_user, regular_user
Los valores por defecto para los usuarios :
contraseña = abc123
Los roles secundarios deben estar habilitados
– 2 roles adicionales llamados dev_role y security_role
– dev_role debe ser capaz de crear y consultar todas las tablas (futuras), vistas y esquemas en cada base de datos, excepto para cambiar cualquier cosa en los esquemas de seguridad.
– security_role debe poder crear y consultar todas las tablas, vistas y esquemas (futuros) de todas las bases de datos.
– dev_user debe tener el dev_role , security_user debe tener el security_role
– el rol public sólo puede consultar Production.Public
– 1 warehouse PEQUEÑO llamado default_wh
Crear un script secundario que tenga lo siguiente :
Script secundario:
CREATE TABLE departments(dep_id varchar, dep_name varchar);
INSERT INTO departments VALUES
(‘d001′,’Marketing’),
(‘d002′,’Finance’),
(‘d003′,’Human Resources’),
(‘d004′,’Production’),
(‘d005′,’Development’),
(‘d006′,’Quality Management’),
(‘d007′,’Sales’),
(‘d008′,’Research’),
(‘d009′,’Customer Service’);
La database-in-a-box debe llamar a esta secuencia de comandos secundaria si se apunta a la ruta correcta (argumento).
La ruta al script secundario NO debe estar codificada en el script primario.
Puntos extra :
Como desafío adicional, intente crear el mismo script que sea más maleable;
Los valores por defecto como contraseñas, nombres de almacén y nombres de bases de datos son actualmente estáticos pero, ¿puede crear la opción de diferir al valor por defecto si no se da ninguna alternativa?
Recuerda que si deseas participar:
- Regístrate como miembro de Frosty Friday. Puedes hacerlo haciendo clic en la barra lateral y luego yendo a «REGISTRARSE» (ten en cuenta que unirte a nuestra lista de correo no te proporcionará una cuenta de Frosty Friday).
- Publica tu código en GitHub y asegúrate de que sea de acceso público (consulta nuestra guía si no sabes cómo hacerlo).
- Publica la URL en los comentarios del desafío.
Si tienes alguna pregunta técnica que te gustaría plantear a la comunidad, puedes hacerlo aquí, en nuestro hilo dedicado a estos retos.
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.