Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust - redb cli

RedbCLI is a command-line tool for managing and operating Redb databases. It provides various commands to create, delete, query, and edit database tables.

Requires

Need vim

Features

  • Set database path
  • Use specific tables
  • Browse tables of any key/value type (integers, tuples such as Table<(u128,u128), u64>, strings, byte slices, etc.)
  • Edit table data of any supported type (values are shown and edited as typed strings: decimals, (a, b) tuples, 0x hex for bytes)
  • Query table information, including each table's key/value types
  • Create and delete tables

Installation

  1. Ensure you have Rust and Cargo installed.
  2. Clone the project repository:
git clone https://github.com/jokemanfire/redbcli
cd redbcli
  1. Build the project:
cargo build --release
  1. Add the generated executable to your PATH:
cp target/release/redbcli /usr/local/bin/

Usage

  1. Start RedbCLI:
redbcli
  1. Set the database path:
set /path/to/your/database
  1. Use a specific table:
use your_table_name
  1. Query table information:
info tables
info key your_key
info table your_table_name
  1. Edit table data (whole table is dumped as JSON, keys and values are typed strings; removing a JSON entry deletes the row, an invalid value aborts the edit without changing anything):
edit
  1. Create a new table:
create your_table_name
  1. Delete a table:
delete your_table_name
  1. Exit the program:
exit

Command List

  • set : Set the database path.
  • use : Use a specific table.
  • edit: Edit the data of the current table.
  • info [tables | key | table ]: Query table information.
  • create : Create a new table.
  • delete : Delete a table.
  • exit: Exit the program.

Example

$ redbcli
DB:[/path/to/your/database] TAB:[] 
>> set /path/to/your/database
-> set database success! 

DB:[/path/to/your/database] TAB:[] 
>> use my_table
-> Use table my_table

DB:[/path/to/your/database] TAB:[my_table] 
>> info tables
+------------------+
|      Tables      |
+------------------+
|     my_table     |
+------------------+

DB:[/path/to/your/database] TAB:[my_table] 
>> info key my_key
-> data 
{
  "my_key": "my_value"
}

DB:[/path/to/your/database] TAB:[my_table] 
>> edit
-> Save data to update the database

DB:[/path/to/your/database] TAB:[my_table] 
>> create new_table
-> Table created successfully

DB:[/path/to/your/database] TAB:[my_table] 
>> delete new_table
-> Table deleted successfully

DB:[/path/to/your/database] TAB:[my_table] 
>> exit
-> Exiting ... 

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing

Contributions are welcome! Please open an issue or submit a pull request if you have any improvements or bug fixes.

For more detailed information, please refer to the source code and documentation.

About

Command line program to operate redb, and provide a command-line interface for the entire redb operation.

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages