使用包管理控制台
Add-Migration 迁移名称
(比如 Add-Migration DatabaseInformation_Extension)
在Program处,服务启动之前添加调用函数
private static void CreateDbIfNotExists(IHost host)
{
using var scope = host.Services.CreateScope();
var services = scope.ServiceProvider;
using var context = scope.ServiceProvider.GetRequiredService<BeeNetContext>();
context.Database.Migrate();
}
服务器启动时候会自动完成迁移。
SQLite - SQLite 局限性 - 《微软 EntityFrameworkCore 中文文档》 - 书栈网 · BookStack
https://www.bookstack.cn/read/Microsoft.EntityFrameworkCore.Docs.zh-Hans/7%E3%80%81%E6%95%B0%E6%8D%AE%E5%BA%93%E6%8F%90%E4%BE%9B%E7%A8%8B%E5%BA%8F-C%E3%80%81SQLite-B%E3%80%81SQLite%E5%B1%80%E9%99%90%E6%80%A7.md
关于SQLite不支持迁移的问题可以查看一下:
// UNDONE: Not supported by SQLite
//migrationBuilder.AlterColumn(
// name: "Title",
// table: "Posts",
// nullable: false,
// oldClrType: typeof(string),
// oldType: "TEXT",
// oldNullable: true);
// Create a new table with the desired schema
// TODO: Randomize the name to avoid conflicts
migrationBuilder.CreateTable(
name: "new_Posts",
columns: table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("Sqlite:Autoincrement", true),
Title = table.Column<string>(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Posts", x => x.Id);
});
// Copy data from the old table. Use NULLIF to specify a default value for newly
// required columns
migrationBuilder.Sql(@"
INSERT INTO new_Posts (Id, Title)
SELECT Id, IFNULL(Title, '')
FROM Posts;
");
// Suspend foreign key enforcement during the swap
// TODO: Can't do this on SQL Server. Would need to rebuild referencing foreign
// keys there. But do we even need table rebuilds on SQL Server? Changing
// IDENTITY only requires a column rebuild
// NB: This commits the current transaction. We can't rollback the migration if
// anything after this fails. Maybe we can turn this off before the migration
// and somehow use PRAGMA foreign_key_check. Otherwise, we can mitigate it by
// doing rebuilds as late as possible
migrationBuilder.Sql("PRAGMA foreign_keys = 0;", suppressTransaction: true);
// Swap in the new table
migrationBuilder.DropTable(
name: "Posts");
migrationBuilder.RenameTable(
name: "new_Posts",
newName: "Posts");
// TODO: We shouldn't do this if foreign key enforcement was off to begin with.
// There's no way to handle this in SQL, so we probably need a way to configure
// this. Maybe we can do this as a post migration step--the migration wouldn't
// fail, but you'd at least get an error if you compromised referential
// integrity
migrationBuilder.Sql("PRAGMA foreign_keys = 1;", suppressTransaction: true);
// Rebuild any indexes
migrationBuilder.CreateIndex(
name: "IX_Posts_Title",
table: "Posts",
column: "Title");
获取当前NAT类型:
ICE协议下NAT穿越的实现(STUN&TURN) - 简书 https://www.jianshu.com/p/84e8c78ca61d
对称NAT穿透的一种新方法 | xd_xd’s blog
http://xdxd.love/2016/10/18/%E5%AF%B9%E7%A7%B0NAT%E7%A9%BF%E9%80%8F%E7%9A%84%E4%B8%80%E7%A7%8D%E6%96%B0%E6%96%B9%E6%B3%95/
网络上说用GIT Bash。我使用Git CMD也是可以解决这个问题。
Html Webpack Plugin:
ReferenceError: process is not defined
Experiencing the same issue on Node 12.2.0. Not sure what causes it, and not entirely convinced the issue is in this repo. Probably a dependency. Removing parts from the template will work for npm run dev, but not so much for npm run build or npm run pack.
My temporary solution was to do modify HtmlWebpackPlugin in .electron-vue/webpack.web.config.js and .electron-vue/webpack.renderer.config.js:
new HtmlWebpackPlugin({
filename: 'index.html',
template: path.resolve(__dirname, '../src/index.ejs'),
templateParameters(compilation, assets, options) {
return {
compilation: compilation,
webpack: compilation.getStats().toJson(),
webpackConfig: compilation.options,
htmlWebpackPlugin: {
files: assets,
options: options
},
process,
};
},
minify: {
collapseWhitespace: true,
removeAttributeQuotes: true,
removeComments: true
},
nodeModules: false
}),
解决方案来源:https://github.com/SimulatedGREG/electron-vue/issues/871
我这里使用的为yarn工具
在.yarnrc(位置为C:\Users\{当前用户名})
添加一下内容
ELECTRON_MIRROR "https://npm.taobao.org/mirrors/electron/"
registry "https://registry.npm.taobao.org"
sass_binary_site "https://npm.taobao.org/mirrors/node-sass/"
phantomjs_cdnurl "http://cnpmjs.org/downloads"
electron_mirror "https://npm.taobao.org/mirrors/electron/"
sqlite3_binary_host_mirror "https://foxgis.oss-cn-shanghai.aliyuncs.com/"
profiler_binary_host_mirror "https://npm.taobao.org/mirrors/node-inspector/"
chromedriver_cdnurl "https://cdn.npm.taobao.org/dist/chromedriver"
结果82s就完成了。
规则冲突,遵循ESLint设置
webstorm 设置页面->Editor->Code Style
里面的JavaScript右上有一个set from ,
设置成想要的风格
然后HTML里面Other选项卡里面有个Do not indent children of ,加一个script,然后保存格式化。