You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

rhosocial-activerecord-mysql

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rhosocial-activerecord-mysql

MySQL backend implementation for rhosocial-activerecord, providing a robust and optimized MySQL database support.

1.0.0.dev2
pipPyPI
Maintainers
1

rhosocial ActiveRecord MySQL Backend

PyPI version Python Tests Coverage Status License Powered by vistart

rhosocial ActiveRecord Logo

MySQL backend implementation for rhosocial-activerecord, providing a robust and optimized MySQL database support.

Overview

This package provides MySQL backend support for the rhosocial-activerecord ORM framework. It enables seamless integration with MySQL databases while leveraging all the features of the ActiveRecord pattern implementation.

Note: This is a backend implementation only and requires the main rhosocial-activerecord package to function properly.

Features

This project is still under development and features are subject to change. Please stay tuned for the latest changes.

  • 🚀 Optimized MySQL-specific query generation
  • 🔒 Full support for MySQL's unique features
  • 📦 Connection pooling support (optional)
  • 🔄 Comprehensive transaction management
  • 🔍 Advanced query capabilities specific to MySQL
  • 🔌 Simple configuration and setup

Requirements

  • Python 3.8+
  • rhosocial-activerecord 1.0.0+
  • mysql-connector-python 9.2.0+

Installation

pip install rhosocial-activerecord-mysql

Important: This package is a MySQL backend implementation for rhosocial-activerecord and cannot work independently. You must install and use it together with the main package.

For detailed usage of the main ActiveRecord framework, please refer to the rhosocial-activerecord documentation.

Usage

from rhosocial.activerecord import ActiveRecord
from rhosocial.activerecord.backend.impl.mysql.backend import MySQLBackend
from rhosocial.activerecord.backend.typing import ConnectionConfig
from datetime import datetime
from typing import Optional

class User(ActiveRecord):
    __table_name__ = 'users'
    
    id: int
    name: str
    email: str
    created_at: datetime
    deleted_at: Optional[datetime] = None

# Configure with MySQL backend
User.configure(
    ConnectionConfig(
        host='localhost',
        port=3306,
        database='myapp',
        user='dbuser',
        password='dbpassword'
    ),
    backend_class=MySQLBackend
)

# Create a table (if not exists)
User.create_table_if_not_exists()

# Create a new user
user = User(name='John Doe', email='john@example.com', created_at=datetime.now())
user.save()

# Query users
active_users = User.query() \
    .where('deleted_at IS NULL') \
    .order_by('created_at DESC') \
    .all()

# Update user
user.name = 'Jane Doe'
user.save()

# Delete user (soft delete if implemented)
user.delete()

Advanced MySQL Features

This backend supports MySQL-specific features and optimizations:

# Using MySQL fulltext search
results = User.query() \
    .where('MATCH(name, email) AGAINST(? IN BOOLEAN MODE)', ('+John -Doe', )) \
    .all()

# Using MySQL JSON operations
results = User.query() \
    .where('settings->>"$.notifications" = ?', ('enabled', )) \
    .all()

# Batch insert with ON DUPLICATE KEY UPDATE
User.batch_insert_or_update([user1, user2, user3])

Documentation

Complete documentation is available at python-activerecord MySQL Backend

Contributing

We welcome and value all forms of contributions! For details on how to contribute, please see our Contributing Guide.

License

license

Copyright © 2025 vistart

Keywords

activerecord

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts