开发个WebApi处处是坑,自学是真难啊~~
我是明白了,最难的不是C#的编程知识,确是各种配置方式和软件的功能理解使用,不经历一次就不懂,但确确实实是浪费时间。。。人生苦长啊?
如上图,在程序开发的差不多之时,需要发布到服务器上时发现,发布时的这两项到底怎么看待呢?
数据库
MySQL下面的勾选框和连接字符串,其实是发布后相当于复制了一份appsettings.json
文件并重命名为appsettings.Production.json
同时把连接字符串修改成下面输入框里填写的字符串了。
也就是说此处的字符串应该是服务器真实的连接字符串,而不是开发环境测试用的连接字符串。
Entity Framework迁移
ApiDbContext下面的勾选框和连接字符串,其实就是发布过程中就把你服务器数据库的结构修改了或者理解为直接此时就应用迁移了。
.NET的EF Core关系映射来回迁移真是麻烦又难理解,本菜鸡就喜欢反向工程,先修改数据库表结构自动生成实体类和上下文,可偏偏本地数据库优先传到服务器上就不太好搞。
变更服务器上的表结构,需要本地创建迁移文件,然后带着迁移文件在服务器搞一次dotnet ef database update才行。
到此你以为很简单?错了,创建迁移文件是代码优先,
我每次还需要先修改表结构,
然后反向工程,
然后把表结构改回原来样子,
然后创建迁移文件,
然后生成迁移命令,
然后上传到服务器上,
再然后应用迁移sql命令。
要是哪天不小心把迁移记录删除了,又不知道咋搞。。。
可能我是菜鸡,可能有更好的方式吧,有大神留言指教一下吗?
难受
我正在给域名工具箱
开发域名历史查询功能,陆陆续续耗时快两个月时间,才完成一半多吧。
每天跟时间赛跑,随时在猝死的边缘试探,最主要是还不一定有人使用,所以说状态还是很糟糕的。
对了,appsettings.Production.json
这个文件想要使用比较麻烦,代码里需要配置识别不同环境变量用不同的文件,服务器系统的环境变量还需要配置,麻烦透顶。放弃吧!
写完此功能,工具箱的功能就差不多,开始推广一波看看有没有人使用,要是有人用还会开发一些好功能,希望大家有需求的提一下,我会斟酌的。
评论(0)