fix #3653 - mySQL installation failing on Rows reserved word
This commit is contained in:
parent
38a5cc33e8
commit
7c6424e05c
|
@ -75,6 +75,14 @@ namespace Oqtane.Database.MySQL
|
||||||
return dr;
|
return dr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override string RewriteName(string name, bool isQuery)
|
||||||
|
{
|
||||||
|
if (name.ToLower() == "rows" && isQuery)
|
||||||
|
{
|
||||||
|
name = $"`{name}`"; // escape reserved word in SQL query
|
||||||
|
}
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
public override DbContextOptionsBuilder UseDatabase(DbContextOptionsBuilder optionsBuilder, string connectionString)
|
public override DbContextOptionsBuilder UseDatabase(DbContextOptionsBuilder optionsBuilder, string connectionString)
|
||||||
{
|
{
|
||||||
|
|
|
@ -66,6 +66,11 @@ namespace Oqtane.Databases
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public virtual string RewriteName(string name, bool isQuery)
|
||||||
|
{
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
public virtual string RewriteValue(string value, string type)
|
public virtual string RewriteValue(string value, string type)
|
||||||
{
|
{
|
||||||
return value;
|
return value;
|
||||||
|
|
|
@ -28,6 +28,8 @@ namespace Oqtane.Databases.Interfaces
|
||||||
|
|
||||||
public string RewriteName(string name);
|
public string RewriteName(string name);
|
||||||
|
|
||||||
|
public string RewriteName(string name, bool isQuery);
|
||||||
|
|
||||||
public string RewriteValue(string value, string type);
|
public string RewriteValue(string value, string type);
|
||||||
|
|
||||||
public void UpdateIdentityStoreTableNames(ModelBuilder builder);
|
public void UpdateIdentityStoreTableNames(ModelBuilder builder);
|
||||||
|
|
|
@ -47,7 +47,12 @@ namespace Oqtane.Migrations.EntityBuilders
|
||||||
|
|
||||||
private string RewriteName(string name)
|
private string RewriteName(string name)
|
||||||
{
|
{
|
||||||
return ActiveDatabase.RewriteName(name);
|
return RewriteName(name, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
private string RewriteName(string name, bool isQuery)
|
||||||
|
{
|
||||||
|
return ActiveDatabase.RewriteName(name, isQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
private string RewriteValue(string value, string type)
|
private string RewriteValue(string value, string type)
|
||||||
|
@ -394,7 +399,7 @@ namespace Oqtane.Migrations.EntityBuilders
|
||||||
|
|
||||||
public void UpdateColumn(string columnName, string value, string type, string condition)
|
public void UpdateColumn(string columnName, string value, string type, string condition)
|
||||||
{
|
{
|
||||||
var updateSql = $"UPDATE {RewriteSqlEntityTableName(EntityTableName)} SET {RewriteName(columnName)} = {RewriteValue(value, type)} ";
|
var updateSql = $"UPDATE {RewriteSqlEntityTableName(EntityTableName)} SET {RewriteName(columnName, true)} = {RewriteValue(value, type)} ";
|
||||||
if (!string.IsNullOrEmpty(condition))
|
if (!string.IsNullOrEmpty(condition))
|
||||||
{
|
{
|
||||||
updateSql += $"WHERE {condition}";
|
updateSql += $"WHERE {condition}";
|
||||||
|
|
Loading…
Reference in New Issue
Block a user