Skip to main content

database layer for my personal server.

Project description

lapa_database_structure

about

database structure layer for my personal server.

installation

pip install lapa_database_structure

usage

to add a new database

  • create a package with package name as database name.

to add a new schema

  • add package in database_name package with schema name as package name.

to add a new table

  • create /database_name/schema_name/tables.py file if not already created.
  • create class corresponding to your new table add in /database_name/schema_name/tables.py file.

to add default data in table

  • append row objects containing your default data to the data_to_insert list inside the /database_name/schema_name/tables.py file.

do not forget to add new database_names, schema_names and/or table_names to main.py enums to make it accessible through api calls.

do not forget to clone changes to all testing database.

configs

None

env

  • python>=3.12.0

changelog

v0.0.15

lapa and lapa_testing

  • authentication
    • rename user_session_hashed_refresh_token to user_session_refresh_token

v0.0.14

lapa and lapa_testing

  • authentication
    • remove device table and remove references of device in user_device_session (old name).
    • add session_expiry_time in user_session table.
  • public
    • add table for testing.

v0.0.13

lapa and lapa_testing

  • authentication
    • naming convention changes to tables and columns.
    • make user_id unique in user_credential table. (1 user can have only 1 username-password)
    • make user_id unique in user_profile table. (1 user can have only 1 profile)
    • add auto increment to user_log_id and user_device_session_id. (primary keys)
    • introduce device_id in device table.
    • assign foreign key to user_id in user_device_session table.
    • introduce foreign key device_id to user_device_session table.
    • make device_encrypted_mac_address unique in device table. (unencrypted mac address is supposed to be unique)
    • make user_device_session_hashed_refresh_token unique in device table. (plaintext refresh token is supposed to be unique)

v0.0.12

  • removed UserAuthentication
  • renamed user_authentication -> credential
  • new table device and user_device_session

v0.0.11

  • removed salt authentication_username_salt column

v0.0.10

  • renamed authentication_username_salt.
  • added local_string_database_name in each database.
  • removed main.py file and its enums.

v0.0.9

  • rename authentication_username_hashed_access_token and authentication_username_hashed_refresh_token.
  • update enum in main.py.

v0.0.8

  • Overhauled authentication schema, again.

v0.0.7

  • Overhauled authentication schema,
  • introducing new tables: User, UsernameAuthentication, UserProfile, AuthenticationType, UserAccountStatus, UserLog, and UserLogStatus.

v0.0.6

  • changed db structure
  • removed game db
  • added testing db which is clone of lapa

v0.0.5

  • file_storage -> public -> File
    • change file_extension to file_content_type.
    • file_system_relative_path default change from "." to "".

v0.0.4

  • authentication database added with the below tables
    • user
    • user_validation_status
    • user_registration
    • hashing_algorithm

v0.0.3

  • Changed package name to lapa_database_structure.

v0.0.2

  • Update table for file_storage -> File.

v0.0.1

  • initial implementation.

Feedback is appreciated. Thank you!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lapa_database_structure-0.0.15.tar.gz (5.8 kB view hashes)

Uploaded Source

Built Distribution

lapa_database_structure-0.0.15-py3-none-any.whl (9.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page