This package is used to dynamically add new data to your existing Mysql tables.
You're also able to delete or view data.
It'll return you an embed & a view for you to send back.
- Install the package
pip install dbpyman==0.1.5
- Create a new command for your discord Bot and create a
database
object inside that.
database = Database(host='db_host',
user='db_user',
password='db_password',
port=3306,
database_name='db_name',
charset='utf8mb4')
- Call
create_db_management
and pass thedatabase
object as the parameter and return your embed & view
database = Database(host='db_host',
user='db_user',
password='db_password',
port=3306,
database_name='db_name',
charset='utf8mb4')
embed, view = dbpyman.create_db_management(database)
- Use the returned embed & view and attach them to your message
database = Database(host='db_host',
user='db_user',
password='db_password',
port=3306,
database_name='db_name',
charset='utf8mb4')
embed, view = dbpyman.create_db_management(database)
await interaction.response.send_message(embed=embed, view=view)
The framework features various methodes to further customize the UI & behavior of your data management process.
In general the framework will attach all tables as buttons to the view.
You can prevent that by using
database = Database(...)
database.set_table_hidden('MyTableName')
database.set_table_hidden('MySecondTableName')
embed, view = dbpyman.create_db_management(database)
In general the framework will generate all columns for the modal when adding data however
You can prevent that by using
database = Database(...)
database.set_column_hidden('MyTableName', 'MyColumnName')
database.set_column_hidden('MySecondTableName', 'MySecondColumnName')
embed, view = dbpyman.create_db_management(database)
This will set a default value for that specific column. When adding data to a table, you'll see the default value as the input preview.
This will also allow you to skip the insertion of those specific column input fields and simply use the assigned default value when that input field is empty ( even if the table is marked as NOT NULL
).
database = Database(...)
database.set_column_default_value('MyTableName', 'MyColumnName', 0)
database.set_column_default_value('MySecondTableName', 'MySecondColumnName', 'Banana')
embed, view = dbpyman.create_db_management(database)
Feel free to contribute to the project, it's open source.
It's probably possible to not only support MySQL and work with inheritance to allow other database types.