diff --git a/docs/install.md b/docs/install.md index 1453cfc..a617ac5 100644 --- a/docs/install.md +++ b/docs/install.md @@ -70,16 +70,17 @@ python -m pip install -r requirement.txt flask db init flask db migrate flask db upgrade -flask system init +flask admin init ``` #### 运行项目 ```shell -python app.py +# linux +run.bat -# 或者可以使用 -flask run +# windows +./run.sh ``` #### 使用docker-compose运行项目 diff --git a/docs/model.md b/docs/model.md new file mode 100644 index 0000000..52bf177 --- /dev/null +++ b/docs/model.md @@ -0,0 +1,50 @@ +## 模型/数据库和序列化 +### 数据库连接 + +项目采用flask-sqlalchemy,支持多数据库连接,默认sqlite + +HOSTNAME: 指数据库的IP地址 +USERNAME:指数据库登录的用户名 +PASSWORD:指数据库登录密码 +PORT:指数据库开放的端口 +DATABASE:指需要连接的数据库名称 +#### mssql +``` +MSSQL: f"mssql+pymssql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}?charset=cp936" +``` +#### msyql +``` +$ pip install pymysql + +# 手动在mysql中创建数据库,并将配置文件中的url配置如下示例 + +SQLALCHEMY_DATABASE_URI = f"mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}?charset=utf8mb4" +``` +#### Oracle +``` +Oracle: f"oracle+cx_oracle://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}" +``` +#### SQLite +``` +SQLite "sqlite:/// database.db" +``` +#### Postgres +``` +Postgres f"postgresql+psycopg2://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}" +``` + + +### 序列化 + +推荐使用这种自动类型的 +```python +from flask_marshmallow.sqla import SQLAlchemyAutoSchema +from applications.models import 你的模型类 +class RoleOutSchema(SQLAlchemyAutoSchema): + class Meta: + model = 你的模型类 # table = models.Album.__table__ + # include_relationships = True # 输出模型对象时同时对外键,是否也一并进行处理 + include_fk = True # 序列化阶段是否也一并返回主键 + # fields= ["id","name"] # 启动的字段列表 + # exclude = ["id","name"] # 排除字段列表 +```