Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

README.md

MySQL

This RESTful Actix Web API illustrates how to use a MySQL database as a data source for various endpoints.

You'll need to have a MySQL (or compatible) server running on your machine to test this example.

Usage

All the following commands assume that your current working directory is this directory. I.e.:

$ pwd
.../databases/mysql
  1. Create database and tables:

    The sql directory contains the SQL files used for database setup:

    mysql -u root -p < sql/0_create_database.sql
    mysql -u root -p my_bank < sql/1_bank_details.sql
    mysql -u root -p my_bank < sql/2_branch_details.sql
    mysql -u root -p my_bank < sql/3_teller_details.sql
    mysql -u root -p my_bank < sql/4_customer_details.sql

    For each step you will be prompted for the root user's password. If there's no password set on the root use, just hit enter again.

  2. Create a .env file in this this directory:

    SERVER_ADDR=127.0.0.1:8080
    MYSQL_USER=root
    MYSQL_PASSWORD=<password>
    MYSQL_HOST=127.0.0.1
    MYSQL_PORT=3306
    MYSQL_DBNAME=my_bank

    Update "MYSQL_USER" and "MYSQL_PASSWORD" values with the correct MySQL user/password.

  3. Run the server:

    cargo run
  4. Using a different terminal send requests to the running server. For example, using HTTPie:

    http POST :8080/bank bank_name="Bank ABC" country="Kenya"
    
    http :8080/bank

    See the API documentation pages for more info.