!51 添加 PostgreSQL 数据库的配置,并新增驼峰转下划线功能

Merge pull request !51 from 凤凰/abp
This commit is contained in:
橙子
2024-10-07 06:54:04 +00:00
committed by Gitee
8 changed files with 85 additions and 64 deletions

View File

@@ -19,7 +19,10 @@ namespace Yi.Framework.SqlSugarCore.Abstractions
/// </summary> /// </summary>
public bool EnabledDbSeed { get; set; } = false; public bool EnabledDbSeed { get; set; } = false;
/// <summary>
/// 开启驼峰转下划线
/// </summary>
public bool EnableUnderLine { get; set; } = false;
/// <summary> /// <summary>
/// 开启codefirst /// 开启codefirst

View File

@@ -64,6 +64,12 @@ namespace Yi.Framework.SqlSugarCore
//设置codefirst非空值判断 //设置codefirst非空值判断
ConfigureExternalServices = new ConfigureExternalServices ConfigureExternalServices = new ConfigureExternalServices
{ {
// 处理表
EntityNameService = (type, entity) =>
{
if (dbConnOptions.EnableUnderLine && !entity.DbTableName.Contains('_'))
entity.DbTableName = UtilMethods.ToUnderLine(entity.DbTableName);// 驼峰转下划线
},
EntityService = (c, p) => EntityService = (c, p) =>
{ {
if (new NullabilityInfoContext() if (new NullabilityInfoContext()
@@ -72,6 +78,9 @@ namespace Yi.Framework.SqlSugarCore
p.IsNullable = true; p.IsNullable = true;
} }
if (dbConnOptions.EnableUnderLine && !p.IsIgnore && !p.DbColumnName.Contains('_'))
p.DbColumnName = UtilMethods.ToUnderLine(p.DbColumnName);// 驼峰转下划线
EntityService(c, p); EntityService(c, p);
} }
}, },

View File

@@ -13,22 +13,24 @@
}, },
//数据库类型列表 //数据库类型列表
"DbList": [ "Sqlite", "Mysql", "Sqlserver", "Oracle" ], "DbList": [ "Sqlite", "Mysql", "Sqlserver", "Oracle", "PostgreSQL" ],
"DbConnOptions": { "DbConnOptions": {
"Url": "DataSource=yi-abp-dev.db", "Url": "DataSource=yi-abp-dev.db",
"DbType": "Sqlite", "DbType": "Sqlite",
"EnabledReadWrite": false, "EnabledReadWrite": false,
"EnabledCodeFirst": true, "EnabledCodeFirst": true,
"EnabledSqlLog": true, "EnabledSqlLog": true,
"EnabledDbSeed": true "EnabledDbSeed": true,
//读写分离地址 "EnableUnderLine": false // 启用驼峰转下划线
//"ReadUrl": [ //读写分离地址
// "DataSource=[xxxx]", //Sqlite //"ReadUrl": [
// "server=[xxxx];port=3306;database=[xxxx];user id=[xxxx];password=[xxxx]", //Mysql // "DataSource=[xxxx]", //Sqlite
// "Data Source=[xxxx];Initial Catalog=[xxxx];User ID=[xxxx];password=[xxxx]" //Sqlserver // "server=[xxxx];port=3306;database=[xxxx];user id=[xxxx];password=[xxxx]", //Mysql
//] // "Data Source=[xxxx];Initial Catalog=[xxxx];User ID=[xxxx];password=[xxxx]" //Sqlserver
}, // "HOST=[xxxx];PORT=5432;DATABASE=[xxxx];USERID=[xxxx];PASSWORD=[xxxx]" //PostgreSQL
//]
},
//鉴权 //鉴权
"JwtOptions": { "JwtOptions": {

View File

@@ -17,24 +17,26 @@
}, },
//数据库类型列表 //数据库类型列表
"DbList": [ "Sqlite", "Mysql", "Sqlserver", "Oracle" ], "DbList": [ "Sqlite", "Mysql", "Sqlserver", "Oracle", "PostgreSQL" ],
"DbConnOptions": { "DbConnOptions": {
"Url": "DataSource=yi-abp-dev.db", "Url": "DataSource=yi-abp-dev.db",
"DbType": "Sqlite", "DbType": "Sqlite",
"EnabledReadWrite": false, "EnabledReadWrite": false,
"EnabledCodeFirst": true, "EnabledCodeFirst": true,
"EnabledSqlLog": true, "EnabledSqlLog": true,
"EnabledDbSeed": true, "EnabledDbSeed": true,
//SAAS多租户 "EnableUnderLine": false, // 启用驼峰转下划线
"EnabledSaasMultiTenancy": false //SAAS多租户
//读写分离地址 "EnabledSaasMultiTenancy": true
//"ReadUrl": [ //读写分离地址
// "DataSource=[xxxx]", //Sqlite //"ReadUrl": [
// "server=[xxxx];port=3306;database=[xxxx];user id=[xxxx];password=[xxxx]", //Mysql // "DataSource=[xxxx]", //Sqlite
// "Data Source=[xxxx];Initial Catalog=[xxxx];User ID=[xxxx];password=[xxxx]" //Sqlserver // "server=[xxxx];port=3306;database=[xxxx];user id=[xxxx];password=[xxxx]", //Mysql
//] // "Data Source=[xxxx];Initial Catalog=[xxxx];User ID=[xxxx];password=[xxxx]" //Sqlserver
}, // "HOST=[xxxx];PORT=5432;DATABASE=[xxxx];USERID=[xxxx];PASSWORD=[xxxx]" //PostgreSQL
//]
},
//redis使用freeesql参数在“FreeSqlOptions的ConnectionStringBuilder中” //redis使用freeesql参数在“FreeSqlOptions的ConnectionStringBuilder中”
"Redis": { "Redis": {

View File

@@ -13,22 +13,24 @@
}, },
//数据库类型列表 //数据库类型列表
"DbList": [ "Sqlite", "Mysql", "Sqlserver", "Oracle" ], "DbList": [ "Sqlite", "Mysql", "Sqlserver", "Oracle", "PostgreSQL" ],
"DbConnOptions": { "DbConnOptions": {
"Url": "DataSource=yi-abp-dev.db", "Url": "DataSource=yi-abp-dev.db",
"DbType": "Sqlite", "DbType": "Sqlite",
"EnabledReadWrite": false, "EnabledReadWrite": false,
"EnabledCodeFirst": true, "EnabledCodeFirst": true,
"EnabledSqlLog": true, "EnabledSqlLog": true,
"EnabledDbSeed": true "EnabledDbSeed": true,
//读写分离地址 "EnableUnderLine": false // 启用驼峰转下划线
//"ReadUrl": [ //读写分离地址
// "DataSource=[xxxx]", //Sqlite //"ReadUrl": [
// "server=[xxxx];port=3306;database=[xxxx];user id=[xxxx];password=[xxxx]", //Mysql // "DataSource=[xxxx]", //Sqlite
// "Data Source=[xxxx];Initial Catalog=[xxxx];User ID=[xxxx];password=[xxxx]" //Sqlserver // "server=[xxxx];port=3306;database=[xxxx];user id=[xxxx];password=[xxxx]", //Mysql
//] // "Data Source=[xxxx];Initial Catalog=[xxxx];User ID=[xxxx];password=[xxxx]" //Sqlserver
}, // "HOST=[xxxx];PORT=5432;DATABASE=[xxxx];USERID=[xxxx];PASSWORD=[xxxx]" //PostgreSQL
//]
},
//鉴权 //鉴权
"JwtOptions": { "JwtOptions": {

View File

@@ -13,22 +13,24 @@
}, },
//数据库类型列表 //数据库类型列表
"DbList": [ "Sqlite", "Mysql", "Sqlserver", "Oracle" ], "DbList": [ "Sqlite", "Mysql", "Sqlserver", "Oracle", "PostgreSQL" ],
"DbConnOptions": { "DbConnOptions": {
"Url": "DataSource=yi-rbac-test.db", "Url": "DataSource=yi-rbac-test.db",
"DbType": "Sqlite", "DbType": "Sqlite",
"EnabledReadWrite": false, "EnabledReadWrite": false,
"EnabledCodeFirst": true, "EnabledCodeFirst": true,
"EnabledSqlLog": true, "EnabledSqlLog": true,
"EnabledDbSeed": true "EnabledDbSeed": true,
//读写分离地址 "EnableUnderLine": false // 启用驼峰转下划线
//"ReadUrl": [ //读写分离地址
// "DataSource=[xxxx]", //Sqlite //"ReadUrl": [
// "server=[xxxx];port=3306;database=[xxxx];user id=[xxxx];password=[xxxx]", //Mysql // "DataSource=[xxxx]", //Sqlite
// "Data Source=[xxxx];Initial Catalog=[xxxx];User ID=[xxxx];password=[xxxx]" //Sqlserver // "server=[xxxx];port=3306;database=[xxxx];user id=[xxxx];password=[xxxx]", //Mysql
//] // "Data Source=[xxxx];Initial Catalog=[xxxx];User ID=[xxxx];password=[xxxx]" //Sqlserver
}, // "HOST=[xxxx];PORT=5432;DATABASE=[xxxx];USERID=[xxxx];PASSWORD=[xxxx]" //PostgreSQL
//]
},
//鉴权 //鉴权
"JwtOptions": { "JwtOptions": {

View File

@@ -127,7 +127,7 @@ system/tenant : api文件路径,例如codeGen/tableApi
<el-form-item label="数据库类型" prop="dbType"> <el-form-item label="数据库类型" prop="dbType">
<el-radio-group v-model="form.dbType"> <el-radio-group v-model="form.dbType">
<el-radio <el-radio
v-for="dict in ['Sqlite','Mysql','Sqlserver']" v-for="dict in ['Sqlite','Mysql','Sqlserver','PostgreSQL']"
:key="dict" :key="dict"
:value="dict" :value="dict"
>{{ dict }}</el-radio >{{ dict }}</el-radio
@@ -141,6 +141,7 @@ system/tenant : api文件路径,例如codeGen/tableApi
<p>Sqlite: DataSource=[xxxx]</p> <p>Sqlite: DataSource=[xxxx]</p>
<p>Mysql: server=[xxxx];port=3306;database=[xxxx];user id=[xxxx];password=[xxxx]</p> <p>Mysql: server=[xxxx];port=3306;database=[xxxx];user id=[xxxx];password=[xxxx]</p>
<p>Sqlserver: Data Source=[xxxx];Initial Catalog=[xxxx];User ID=[xxxx];password=[xxxx]</p> <p>Sqlserver: Data Source=[xxxx];Initial Catalog=[xxxx];User ID=[xxxx];password=[xxxx]</p>
<p>PostgreSQL: HOST=[xxxx];PORT=5432;DATABASE=[xxxx];USERID=[xxxx];PASSWORD=[xxxx]</p>
</el-form> </el-form>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">