一、前提条件介绍
这是一套前后端分离的web系统,后端flask,前端vue,数据库mysql。
我先是在本地调试了某个功能,然后本地有一个版本,就叫版本1。因此本地配置了相应的环境。
后来由于需要在别人修改的基础上把这个功能加上去,所以把别人的那套代码copy过来准备修改(别问我最开始为啥没用git管理)。别人的就叫版本2好了。
然后我美滋滋的开启了版本2的前后端(当然在此之前我是确定关闭了版本1的),但是改着改着就发现不对了,为啥调试的时候版本2的前端一直连着版本1的后端!
二、版本2的前端连到版本1的后端的,对策
试了无数种方法:
- 找进程没找到——当然mac下用netstat的方式不是很熟,也可能是眼拙没找到)
- 停了mysql服务也不行——当然,不排除有浏览器缓存)
- 把浏览器缓存删了也不行,而且刷新页面居然还能登录进去!——当然,这个后期经过复现,发现是我在界面上停服务,没有用命令行(也试了,但是mac下命令行没效果,就在界面上点了stop按钮),点击的时候有可能手残双击了,然后停服务比较慢,结果导致停了之后又启动了。。。
- ……
后来我想啊,那我重启吧。
重启好了。
三、又有问题!
因为自己改的过程中把代码弄乱了,所以重新从别人那里拷贝了代码,就叫版本3好了。版本2本来系统配置的数据库名叫db-1,然后我乱折腾的过程中给换成了db-2,同时db-1恢复了初始化时候的表结构。
因此版本3的时候我就没有初始化数据库,想着反正配置也是db-1,直接用呗。
然后启动服务调试的时候傻掉了:版本3直接连到了db-2去了!可是检查配置,都是db-1啊,这是为什么为什么为什么!
重启也不行!
着急干活,于是用了一个方法给搞好了:export DEV_DATABASE_URL=mysql+pymysql://root:root@localhost:3306/db-1?charset=utf8mb4
但是还是不明白为啥版本3会直接读取了db-2的配置,是因为版本2在用的时候,相关变量保存到本地了么?
以后有空慢慢研究,总之问题暂时是解决了,可以安心的改代码了。