首页 > 数据库 >docker01 flask-sqlalchemy flask-migrate使用 flask项目演示 docker介绍与安装

docker01 flask-sqlalchemy flask-migrate使用 flask项目演示 docker介绍与安装

时间:2023-04-14 20:14:46浏览次数:44  
标签:sqlalchemy 虚拟化 flask py db migrate docker Docker

今日内容详细

目录

1 flask-sqlalchemy使用

# 集成到flask中,直接使用sqlalchemy,看代码
# 有个第三方flask-sqlalchemy,帮助咱们快速的集成到flask中

	
#  使用flask-sqlalchemy集成
	1 导入 from flask_sqlalchemy import SQLAlchemy
    2 实例化得到对象
    	db = SQLAlchemy()
    3  将db注册到app中
    	db.init_app(app)
    4 视图函数中使用session
    	全局的db.session  # 线程安全的
    5 models.py 中继承Model
    	db.Model
    6 写字段 
    	username = db.Column(db.String(80), unique=True, nullable=False)
    7 配置文件中加入
    SQLALCHEMY_DATABASE_URI = "mysql+pymysql://[email protected]:3306/ddd?charset=utf8"
    SQLALCHEMY_POOL_SIZE = 5
    SQLALCHEMY_POOL_TIMEOUT = 30
    SQLALCHEMY_POOL_RECYCLE = -1
    # 追踪对象的修改并且发送信号
    SQLALCHEMY_TRACK_MODIFICATIONS = False

2 flask-migrate使用

# 表发生变化,都会有记录,自动同步到数据库中
# 原生的sqlalchemy,不支持修改表的
# flask-migrate可以实现类似于django的
	python manage.py makemigrations #记录
    python manage.py migrate        #真正的同步到数据库
    
    
    
    
    
# 使用步骤
	0 flask:2.2.2   flask-script:2.0.3  
	1 第一步:安装,依赖于flask-script
    	pip3.8 install flask-migrate==2.7.0
    2 在app所在的py文件中
    	from flask_script import Manager
		from flask_migrate import Migrate, MigrateCommand
        manager = Manager(app)
        Migrate(app, db)
        manager.add_command('db', MigrateCommand) 
        
        manager.run() # 以后使用python manage.py runserver 启动项目
        
    3 以后第一次执行一下
    	python manage.py db init  # 生成一个migrations文件夹,里面以后不要动,记录迁移的编号
        
    4 以后在models.py 写表,加字段,删字段,改参数
    
    5 只需要执行
    	python manage.py db migrate  # 记录
        python manage.py db upgrade  # 真正的同步进去

3 flask项目演示

# 0 创建数据库 movie
# 1 pycharm打开项目
# 3 在models中,注释,解开注释,右键执行,迁移表
# 4 在models中恢复成原来的
# 5 在命令行中python manage.py runserver运行项目
# 6 访问前台和后台

4 docker介绍

4.1 什么是虚拟化

在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。

在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件  对资源充分利用

虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟化(vip)、桌面虚拟化、服务虚拟化、虚拟机等等。


# kvm:开源的免费的  Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中
# exsi:vmware商用的,装在裸机上,可以虚拟化出很多机器
# openstack(python开发的,开源的):电信云,华为云 openstack  管理云平台
# 阿里云(自研,阿里飞天):云服务器,到一个网站,点点---》付款--》完成
# docker:容器技术
# k8s:多机容器管理,容器编排

4.2 docker是什么

Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 [GitHub](https://github.com/docker/docker) 上进行维护


# Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中广泛应用。

# Docker 项目的目标是实现【轻量级的操作系统虚拟化解决方案】。 Docker 的基础是 Linux 容器(LXC)等技术。

在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的【容器就像操作一个快速轻量级的虚拟机】一样简单。

4.3 容器与虚拟机比较

image-20230411120546095

4.4 Docker概念

# 1 docker 是cs架构  ,mysql,redis,c和s要通信,使用的http协议,符合resful规范
# 2 Docker镜像:镜像是基于一堆文件,相当于虚拟机装了操作系统,又装了软件的一堆文件
# 3 Docker容器:镜像运行起来,成为了容器,【当成一台虚拟机上面装了一些软件】
	- 类和对象的概念
    - 镜像是类---》生成多个对象
    
    
# 4 Registry(注册中心)
	-镜像从哪里来?
    	-注册中心中拉取下来

image-20230411121504987

5 docker安装

# win:下个软件,一路下一步即可(讲课,真正做练习,不要使用它)
	-https://www.docker.com/products/docker-desktop/
    -一路下一步

# centos:建议你直接在虚拟机中安装
	# 先卸载
    yum remove docker docker-common  docker-selinux docker-engine
	rm -rf /var/lib/docker
    # 安装
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
	sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    sudo yum install docker-ce
    
    # 查看版本
    docker -v  # Docker version 23.0.3, build 3e7cbfd

标签:sqlalchemy,虚拟化,flask,py,db,migrate,docker,Docker
From: https://www.cnblogs.com/qian-yf/p/17319788.html

相关文章

  • docker-day4——Dockerfile、docker私有仓库、dockercompose介绍、dockercompose部署f
    目录一、Dockerfile1.1常用和不常用命令1.2dockerfile构建一个djagno项目二、docker私有仓库2.1镜像传到官方仓库2.2镜像分层2.3私有仓库搭建三、dockercompose介绍四、dockercompose部署flask+redis项目4.1新建flask项目app.py4.2编写Dockerfile--》用于构建flask项目的......
  • macos shangflask tradingview python环境安装
    1.Homebrew4.0后更新报错问题原文参考brewupdateFailedtodownloadhttps://formulae.brew.sh/api/formula.jws.json!Homebrew4.0进行了一项最大的改动,组织方式从Git仓库管理改为JSON文件下载。JSON配置文件会从formulae.brew.sh下载,本地的homebrew/core、homebrew/cas......
  • flask使用sqlalchemy
    flask使用sqlalchemyflask-sqlalchemy集成方案借助第三方模块flask-sqlalchemy,可以将sqlalchemy快速的集成到flask项目中。pipinstallflask_sqlalchemyfromflask_sqlalchemyimportSQLAlchemydb=SQLAlchemy()#产生一个SQLAlchemy对象#将db注册到app中db.init......
  • flask的基础使用
    基于django,flask的自动化运维项目flask入门级教程https://tutorial.helloflask.com/preface/在Linux系统中部署flask并使用准备工作:python3.6版本以上,pycharm或vscode,chrome浏览器,github账号$cdwatchlist$python3--version #查看python3版本Python3.9.10$git-......
  • Flask 06
    Flask:SQLalchemy快速的插入数据sqlalchemy是什么?SQLalchemy是python的SQL工具包和对象关系映射器,可以让应用程序开发人员使用SQL的功能和灵活性。SQLalchemy的理念:SQL数据库与对象集合目标不同,它需要关注更大的数据容量和更高的性能,而对象集合则和数据表或数据行的目标......
  • flask-sqlalchemy,flask-migrate
    flask-sqlalchemy使用集成到flask中,直接使用sqlalchemy,有个第三方flask-sqlalchemy,可以快速的集成到flask中使用flaks-sqlalchemy集成#集成到flask中,直接使用sqlalchemy,看代码#有个第三方flask-sqlalchemy,帮助咱们快速的集成到flask中 #使用flask-sqlalchemy集成 1......
  • flask-sqlalchemy使用,flask-migrate使用,flask项目演示
    目录flask-sqlalchemy使用,flask-migrate使用,flask项目演示今日内容详细1flask-sqlalchemy使用2flask-migrate使用3flask项目演示flask-sqlalchemy使用,flask-migrate使用,flask项目演示今日内容详细1flask-sqlalchemy使用#集成到flask中直接使用sqlalchemy#有个第三方fl......
  • flask06
    1sqlalchemy快速插入数据#sqlalchemy是什么orm框架,跟其他的web框架灭有必然联系,可以独立使用#安装,快速使用,执行原生sql#创建表和删除表 -不能创建数据库-不能修改字段(增加,删除)#使用orm插入fromsqlalchemyimportcreate_enginefromsqlalchemy.ormimport......
  • sqlalchemy快速插入数据,scoped_session线程安全,加载类上的装饰器,基本增删改查,django中
    今日内容sqlalchemy快速插入数据sqlalchemy是什么orm框架,跟其他web框架没有必然联系,可以独立使用安装,快速使用,执行原生sql创建表和删除表不能创建数据库不能修改字段(增加,删除)使用orm插入第一步:生成engine对象engine=create_engine("mysql+pymysql://[email protected].......
  • flask框架06 sqlalchemy使用 scoped_session线程安全 一对多 多对多 增删改查
    今日内容详细目录今日内容详细1sqlalchemy快速插入数据2scoped_session线程安全2.1基本使用2.2加在类上的装饰器3基本增删查改3.1基本增删查改和高级查询3.2原生sql3.3django中执行原生sql4一对多4.1表模型4.2新增和基于对象的查询5多对多5.1表模型5.2增加和基于......