Coder Social home page Coder Social logo

simpysql's Introduction

SimpySql

一个数据库orm, 目前支持mysql, mongodb

mysql文档 , mongo文档

安装

pip install simpysql

初始化

你需要在你的项目根目录下创建一个.env文件,内容如下:

[default]                                       #数据库配置名称(对应model.__database__)
DB_TYPE=mysql                                   #数据库类型 mysql 或者 mongo
DB_HOST=127.0.0.1                               #数据库IP                          
DB_PORT=3306                                    #端口
DB_NAME=test_db1                                #库名
DB_USER=root                                    #账号
DB_PASSWORD=123456                              #密码
DB_CHARSET=utf8mb4                              #数据库编码
LOG_DIR=/home/logs/python/                      #开启日志, 日志路径: /home/logs/python/

[test_db2]                                      #其他的库
DB_TYPE=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_NAME=test_db2
DB_USER=root
DB_PASSWORD=123456
DB_CHARSET=utf8mb4
#LOG_DIR=/home/logs/python/                     #关闭日志

创建表model

创建数据库model 并继承simpysql.DBModel:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
from simpysql.DBModel import DBModel

class ModelDemo(DBModel):
    
    __basepath__ = '/home/project/'             # .env 文件路径
    #__database__ = 'default'                   # 库选择, 没有该属性,则默认default库
    __tablename__ = 'lh_test'                   # table name
    __create_time__ = 'create_time'             # 自动添加创建时间字段create_time(精确到秒), 设置为None或者删除该属性,则不自动添加 
    __update_time__ = 'update_time'             # 自动更新时间字段update_time(精确到秒), 设置为None或者删除该属性,则不自动更新
    columns = [                                 # table columns
        'id',
        'name',
        'token_name',
        'status',
        'create_time',
        'update_time',
    ]

    # 可以通过该方法设置自动添加时间字段的格式
    # def fresh_timestamp(self):
    #     return datetime.datetime.now().strftime("%Y%m%d")

操作实例

ModelDemo.where('id', 4).select('id', 'name').take(5).get()

其他

欢迎志同道合的朋友一起参与本项目开发SQLServer、PostgreSQL开发, 联系方式: [email protected]

simpysql's People

Contributors

jeanku avatar wjtxlliubin avatar hokaso avatar cassieeric avatar

Stargazers

 avatar George Chen avatar Jay Chen avatar Haibao Ni avatar  avatar  avatar CSK avatar ylh9412 avatar Weifeng avatar pauline_lee avatar e.okuno avatar  avatar Fishing avatar 野人 avatar Deepcoin avatar MicLon avatar JasonSmartree avatar  avatar Nan Yin avatar  avatar star-ice avatar  avatar  avatar  avatar Summer Ydx avatar DaiKemeng avatar  avatar Seth Zhao avatar yuchen931201 avatar  avatar

Watchers

James Cloos avatar Aeneas avatar yuchen931201 avatar  avatar  avatar

simpysql's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.