setup 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/bin/bash
  2. # Nome do arquivo do banco de dados
  3. DB_FILE="test.db"
  4. # Executa comandos SQL no SQLite
  5. sqlite3 "$DB_FILE" <<EOF
  6. -- Cria tabela 'user' se não existir, com coluna 'password'
  7. CREATE TABLE IF NOT EXISTS user (
  8. user_id INTEGER PRIMARY KEY AUTOINCREMENT,
  9. user_name TEXT NOT NULL,
  10. user_flag TEXT NOT NULL,
  11. password TEXT NOT NULL -- Nova coluna para senha hasheada
  12. );
  13. -- Cria tabela 'api_key' se não existir
  14. CREATE TABLE IF NOT EXISTS api_key (
  15. api_key_id INTEGER PRIMARY KEY AUTOINCREMENT,
  16. user_id INTEGER NOT NULL,
  17. api_key_user TEXT NOT NULL,
  18. api_key_secret TEXT NOT NULL,
  19. FOREIGN KEY (user_id) REFERENCES user(user_id)
  20. );
  21. -- Insere usuário de exemplo ('admin') com senha hasheada se não existir
  22. -- Hash de 'pass' (gere com password_hash em PHP e substitua)
  23. INSERT OR IGNORE INTO user (user_name, user_flag, password) VALUES ('admin', 'a', '\$2y\$10\$K.0XhB3kXjZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZ');
  24. -- Insere chave API para o usuário 'admin' se não existir
  25. INSERT OR IGNORE INTO api_key (user_id, api_key_user, api_key_secret)
  26. SELECT user_id, 'myapikey', 'myapisecret' FROM user WHERE user_name = 'admin';
  27. -- Opcional: Insere mais um usuário de teste com senha hasheada
  28. -- Hash de 'testpass' (substitua pelo real)
  29. INSERT OR IGNORE INTO user (user_name, user_flag, password) VALUES ('testuser', 'a', '\$2y\$10\$AnotherHashHereForTestPass');
  30. INSERT OR IGNORE INTO api_key (user_id, api_key_user, api_key_secret)
  31. SELECT user_id, 'testapikey', 'testapisecret' FROM user WHERE user_name = 'testuser';
  32. -- Exibe os dados inseridos para verificação (sem mostrar hash real por segurança)
  33. SELECT user_id, user_name, user_flag FROM user;
  34. SELECT * FROM api_key;
  35. EOF
  36. echo "Banco de dados '$DB_FILE' criado e populado com sucesso! Senhas estão hasheadas."