Skip to content

Commit 6444057

Browse files
authored
Merge pull request DIRACGrid#6951 from fstagni/81_charset_utf8mb4
[9.0] move default MySQL charset to utf8mb4
2 parents 9880e58 + 6934043 commit 6444057

File tree

13 files changed

+63
-63
lines changed

13 files changed

+63
-63
lines changed

src/DIRAC/Core/Utilities/MySQL.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -929,7 +929,7 @@ def _createTables(self, tableDict, force=False):
929929
index is the list of fields to be indexed. This indexes will declared
930930
unique.
931931
"Engine": use the given DB engine, InnoDB is the default if not present.
932-
"Charset": use the given character set. Default is latin1
932+
"Charset": use the given character set. Default is utf8mb4
933933
force:
934934
if True, requested tables are DROP if they exist.
935935
if False, returned with S_ERROR if table exist.
@@ -1046,7 +1046,7 @@ def _createTables(self, tableDict, force=False):
10461046
)
10471047

10481048
engine = thisTable.get("Engine", "InnoDB")
1049-
charset = thisTable.get("Charset", "latin1")
1049+
charset = thisTable.get("Charset", "utf8mb4")
10501050

10511051
cmd = "CREATE TABLE `{}` (\n{}\n) ENGINE={} DEFAULT CHARSET={}".format(
10521052
table,

src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/DatasetManager/DatasetManager.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class DatasetManager:
1212
_tables["FC_MetaDatasets"] = {
1313
"Fields": {
1414
"DatasetID": "INT AUTO_INCREMENT",
15-
"DatasetName": "VARCHAR(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL",
15+
"DatasetName": "VARCHAR(128) CHARACTER SET utfmb4 COLLATE utf8mb4_bin NOT NULL",
1616
"MetaQuery": "VARCHAR(512)",
1717
"DirID": "INT NOT NULL DEFAULT 0",
1818
"TotalSize": "BIGINT UNSIGNED NOT NULL",

src/DIRAC/DataManagementSystem/DB/FileCatalogDB.sql

+9-9
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ CREATE TABLE FC_Files(
2323
UID SMALLINT UNSIGNED NOT NULL,
2424
GID TINYINT UNSIGNED NOT NULL,
2525
Status SMALLINT UNSIGNED NOT NULL,
26-
FileName VARCHAR(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
26+
FileName VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
2727
INDEX (DirID),
2828
INDEX (UID,GID),
2929
INDEX (Status),
@@ -119,7 +119,7 @@ CREATE TABLE FC_Users (
119119

120120
CREATE TABLE FC_StorageElements (
121121
SEID INTEGER AUTO_INCREMENT PRIMARY KEY,
122-
SEName VARCHAR(127) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
122+
SEName VARCHAR(127) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
123123
AliasName VARCHAR(127) DEFAULT '',
124124
UNIQUE KEY (SEName)
125125
) ENGINE = INNODB;
@@ -159,7 +159,7 @@ CREATE TABLE FC_DirectoryInfo (
159159

160160
CREATE TABLE FC_DirMeta (
161161
DirID INTEGER NOT NULL,
162-
MetaKey VARCHAR(31) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT 'Noname',
162+
MetaKey VARCHAR(31) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT 'Noname',
163163
MetaValue VARCHAR(31) NOT NULL DEFAULT 'Noname',
164164
PRIMARY KEY (DirID,MetaKey)
165165
) ENGINE = INNODB;
@@ -168,7 +168,7 @@ CREATE TABLE FC_DirMeta (
168168

169169
CREATE TABLE FC_FileMeta (
170170
FileID INTEGER NOT NULL,
171-
MetaKey VARCHAR(31) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT 'Noname',
171+
MetaKey VARCHAR(31) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT 'Noname',
172172
MetaValue VARCHAR(31) NOT NULL DEFAULT 'Noname',
173173
PRIMARY KEY (FileID,MetaKey)
174174
) ENGINE = INNODB;
@@ -177,7 +177,7 @@ CREATE TABLE FC_FileMeta (
177177

178178
CREATE TABLE FC_DirectoryTree (
179179
DirID INT AUTO_INCREMENT PRIMARY KEY,
180-
DirName VARCHAR(1024) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
180+
DirName VARCHAR(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
181181
Parent INT NOT NULL DEFAULT 0,
182182
INDEX (Parent),
183183
INDEX (DirName)
@@ -187,7 +187,7 @@ CREATE TABLE FC_DirectoryTree (
187187

188188
CREATE TABLE FC_DirectoryTreeM (
189189
DirID INT AUTO_INCREMENT PRIMARY KEY,
190-
DirName VARCHAR(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
190+
DirName VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
191191
Parent INT NOT NULL DEFAULT 0,
192192
Level INT NOT NULL,
193193
INDEX (Level),
@@ -199,7 +199,7 @@ CREATE TABLE FC_DirectoryTreeM (
199199

200200
CREATE TABLE FC_DirectoryLevelTree (
201201
DirID INT AUTO_INCREMENT PRIMARY KEY,
202-
DirName VARCHAR(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
202+
DirName VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
203203
Parent INT NOT NULL DEFAULT 0,
204204
Level INT NOT NULL,
205205
LPATH1 INT NOT NULL DEFAULT 0,
@@ -240,15 +240,15 @@ CREATE TABLE FC_DirectoryUsage(
240240

241241
CREATE TABLE FC_MetaFields (
242242
MetaID INT AUTO_INCREMENT PRIMARY KEY,
243-
MetaName VARCHAR(64) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
243+
MetaName VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
244244
MetaType VARCHAR(128) NOT NULL
245245
) ENGINE = INNODB;
246246

247247
-- ------------------------------------------------------------------------------
248248

249249
CREATE TABLE FC_FileMetaFields (
250250
MetaID INT AUTO_INCREMENT PRIMARY KEY,
251-
MetaName VARCHAR(64) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
251+
MetaName VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
252252
MetaType VARCHAR(128) NOT NULL
253253
) ENGINE = INNODB;
254254

src/DIRAC/DataManagementSystem/DB/FileCatalogWithFkAndPsDB.sql

+9-9
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ INSERT INTO FC_Statuses (StatusID, Status) values (1, 'FakeStatus');
3636

3737
CREATE TABLE FC_StorageElements (
3838
SEID INTEGER AUTO_INCREMENT,
39-
SEName VARCHAR(127) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
39+
SEName VARCHAR(127) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
4040
AliasName VARCHAR(127) DEFAULT '',
4141

4242
PRIMARY KEY (SEID),
@@ -79,7 +79,7 @@ INSERT INTO FC_Users (UID, UserName) values (1, 'root');
7979
--
8080
-- create table FC_DirectoryList (
8181
-- DirID INT NOT NULL AUTO_INCREMENT,
82-
-- Name varchar(255)CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
82+
-- Name varchar(255)CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
8383
--
8484
-- PRIMARY KEY (DirID),
8585
--
@@ -116,7 +116,7 @@ create table FC_DirectoryList (
116116
ModificationDate DATETIME,
117117
Mode SMALLINT UNSIGNED NOT NULL DEFAULT 775,
118118
Status INTEGER NOT NULL DEFAULT 0,
119-
Name varchar(255)CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
119+
Name varchar(255)CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
120120

121121
PRIMARY KEY (DirID),
122122
FOREIGN KEY (UID) REFERENCES FC_Users(UID),
@@ -158,7 +158,7 @@ CREATE TABLE FC_Files(
158158
Mode SMALLINT UNSIGNED NOT NULL DEFAULT 775,
159159
ChecksumType ENUM('Adler32','MD5'),
160160
Checksum VARCHAR(32),
161-
FileName VARCHAR(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
161+
FileName VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
162162

163163
PRIMARY KEY (FileID),
164164
FOREIGN KEY (DirID) REFERENCES FC_DirectoryList(DirID) ON DELETE CASCADE,
@@ -223,7 +223,7 @@ CREATE TABLE FC_DirectoryUsage(
223223

224224
CREATE TABLE FC_DirMeta (
225225
DirID INTEGER NOT NULL,
226-
MetaKey VARCHAR(31) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT 'Noname',
226+
MetaKey VARCHAR(31) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT 'Noname',
227227
MetaValue VARCHAR(31) NOT NULL DEFAULT 'Noname',
228228
PRIMARY KEY (DirID,MetaKey)
229229
) ENGINE = INNODB;
@@ -232,7 +232,7 @@ CREATE TABLE FC_DirMeta (
232232

233233
CREATE TABLE FC_FileMeta (
234234
FileID INTEGER NOT NULL,
235-
MetaKey VARCHAR(31) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT 'Noname',
235+
MetaKey VARCHAR(31) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT 'Noname',
236236
MetaValue VARCHAR(31) NOT NULL DEFAULT 'Noname',
237237
PRIMARY KEY (FileID,MetaKey)
238238
) ENGINE = INNODB;
@@ -242,15 +242,15 @@ CREATE TABLE FC_FileMeta (
242242

243243
CREATE TABLE FC_MetaFields (
244244
MetaID INT AUTO_INCREMENT PRIMARY KEY,
245-
MetaName VARCHAR(64) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
245+
MetaName VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
246246
MetaType VARCHAR(128) NOT NULL
247247
) ENGINE = INNODB;
248248

249249
-- ------------------------------------------------------------------------------
250250

251251
CREATE TABLE FC_FileMetaFields (
252252
MetaID INT AUTO_INCREMENT PRIMARY KEY,
253-
MetaName VARCHAR(64) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
253+
MetaName VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
254254
MetaType VARCHAR(128) NOT NULL
255255
) ENGINE = INNODB;
256256

@@ -280,7 +280,7 @@ CREATE TABLE FC_FileAncestors (
280280

281281
CREATE TABLE FC_MetaDatasets (
282282
DatasetID INT AUTO_INCREMENT,
283-
DatasetName VARCHAR(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
283+
DatasetName VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
284284
MetaQuery VARCHAR(512),
285285
DirID INT NOT NULL DEFAULT 0,
286286
TotalSize BIGINT UNSIGNED NOT NULL,

src/DIRAC/FrameworkSystem/DB/AuthDB.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
class RefreshToken(Model):
2424
__tablename__ = "RefreshToken"
25-
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8"}
25+
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8mb4"}
2626
jti = Column(String(255), nullable=False, primary_key=True)
2727
issued_at = Column(Integer, nullable=False, default=0)
2828
access_token = Column(Text, nullable=False)
@@ -31,15 +31,15 @@ class RefreshToken(Model):
3131

3232
class JWK(Model):
3333
__tablename__ = "JWK"
34-
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8"}
34+
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8mb4"}
3535
kid = Column(String(255), unique=True, primary_key=True, nullable=False)
3636
key = Column(Text, nullable=False)
3737
expires_at = Column(Integer, nullable=False, default=0)
3838

3939

4040
class AuthSession(Model):
4141
__tablename__ = "AuthSession"
42-
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8"}
42+
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8mb4"}
4343
id = Column(String(255), unique=True, primary_key=True, nullable=False)
4444
uri = Column(String(255))
4545
state = Column(String(255))

src/DIRAC/FrameworkSystem/DB/InstalledComponentsDB.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class Component(componentsBase):
2727
"""
2828

2929
__tablename__ = "Components"
30-
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8"}
30+
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8mb4"}
3131

3232
componentID = Column("ComponentID", Integer, primary_key=True)
3333
system = Column("DIRACSystem", String(32), nullable=False)
@@ -87,7 +87,7 @@ class Host(componentsBase):
8787
"""
8888

8989
__tablename__ = "Hosts"
90-
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8"}
90+
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8mb4"}
9191

9292
hostID = Column("HostID", Integer, primary_key=True)
9393
hostName = Column("HostName", String(32), nullable=False)
@@ -138,7 +138,7 @@ class InstalledComponent(componentsBase):
138138
"""
139139

140140
__tablename__ = "InstalledComponents"
141-
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8"}
141+
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8mb4"}
142142

143143
componentID = Column("ComponentID", Integer, ForeignKey("Components.ComponentID"), primary_key=True)
144144
hostID = Column("HostID", Integer, ForeignKey("Hosts.HostID"), primary_key=True)
@@ -217,7 +217,7 @@ class HostLogging(componentsBase):
217217
"""
218218

219219
__tablename__ = "HostLogging"
220-
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8"}
220+
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8mb4"}
221221

222222
hostName = Column("HostName", String(32), nullable=False, primary_key=True)
223223
# status

src/DIRAC/FrameworkSystem/DB/TokenDB.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class Token(Model, OAuth2TokenMixin):
2424
"""This class describes token fields"""
2525

2626
__tablename__ = "Token"
27-
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8"}
27+
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8mb4"}
2828
# access_token too large for varchar(255)
2929
# 767 bytes is the stated prefix limitation for InnoDB tables in MySQL version 5.6
3030
# https://stackoverflow.com/questions/1827063/mysql-error-key-specification-without-a-key-length

src/DIRAC/ProductionSystem/DB/ProductionDB.sql

+4-4
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ CREATE TABLE Productions(
3131
Status CHAR(32) DEFAULT 'New',
3232
PRIMARY KEY(ProductionID),
3333
INDEX(ProductionName)
34-
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
34+
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
3535

3636
-- -------------------------------------------------------------------------------
3737
DROP TABLE IF EXISTS ProductionSteps;
@@ -51,7 +51,7 @@ CREATE TABLE ProductionSteps(
5151
InsertedTime DATETIME,
5252
PRIMARY KEY(StepID),
5353
UNIQUE INDEX(StepID)
54-
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
54+
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
5555

5656
-- -------------------------------------------------------------------------------
5757
DROP TABLE IF EXISTS ProductionTransformations;
@@ -63,7 +63,7 @@ CREATE TABLE ProductionTransformations(
6363
PRIMARY KEY(ProductionID, TransformationID),
6464
UNIQUE INDEX(TransformationID),
6565
FOREIGN KEY(ProductionID) REFERENCES Productions(ProductionID)
66-
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
66+
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
6767

6868
-- -------------------------------------------------------------------------------
6969
DROP TABLE IF EXISTS ProductionTransformationLinks;
@@ -75,6 +75,6 @@ CREATE TABLE ProductionTransformationLinks(
7575
INDEX(TransformationID),
7676
FOREIGN KEY(ProductionID) REFERENCES Productions(ProductionID),
7777
FOREIGN KEY(TransformationID) REFERENCES ProductionTransformations(TransformationID)
78-
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
78+
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
7979

8080
SET FOREIGN_KEY_CHECKS = 1;

src/DIRAC/ResourceStatusSystem/DB/ResourceManagementDB.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ class AccountingCache(rmsBase):
4545
"""AccountingCache table"""
4646

4747
__tablename__ = "AccountingCache"
48-
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8"}
48+
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8mb4"}
4949

5050
name = Column("Name", String(64), nullable=False, primary_key=True)
5151
plotname = Column("PlotName", String(64), nullable=False, primary_key=True)
@@ -88,7 +88,7 @@ class DowntimeCache(rmsBase):
8888
"""DowntimeCache table"""
8989

9090
__tablename__ = "DowntimeCache"
91-
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8"}
91+
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8mb4"}
9292

9393
downtimeid = Column("DowntimeID", String(127), nullable=False, primary_key=True)
9494
name = Column("Name", String(64), nullable=False)
@@ -150,7 +150,7 @@ class GGUSTicketsCache(rmsBase):
150150
"""GGUSTicketsCache table"""
151151

152152
__tablename__ = "GGUSTicketsCache"
153-
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8"}
153+
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8mb4"}
154154

155155
gocsite = Column("GocSite", String(64), nullable=False, primary_key=True)
156156
tickets = Column("Tickets", String(1024), nullable=False)
@@ -186,7 +186,7 @@ class JobCache(rmsBase):
186186
"""JobCache table"""
187187

188188
__tablename__ = "JobCache"
189-
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8"}
189+
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8mb4"}
190190

191191
site = Column("Site", String(64), nullable=False, primary_key=True)
192192
status = Column("Status", String(16), nullable=False)
@@ -219,7 +219,7 @@ class PilotCache(rmsBase):
219219
"""PilotCache table"""
220220

221221
__tablename__ = "PilotCache"
222-
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8"}
222+
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8mb4"}
223223

224224
site = Column("Site", String(64), nullable=False, primary_key=True)
225225
ce = Column("CE", String(64), nullable=False, primary_key=True)
@@ -261,7 +261,7 @@ class PolicyResult(rmsBase):
261261
"""PolicyResult table"""
262262

263263
__tablename__ = "PolicyResult"
264-
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8"}
264+
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8mb4"}
265265

266266
policyname = Column("PolicyName", String(64), nullable=False, primary_key=True)
267267
statustype = Column("StatusType", String(16), nullable=False, server_default="", primary_key=True)
@@ -320,7 +320,7 @@ class SpaceTokenOccupancyCache(rmsBase):
320320
"""SpaceTokenOccupancyCache table"""
321321

322322
__tablename__ = "SpaceTokenOccupancyCache"
323-
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8"}
323+
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8mb4"}
324324

325325
endpoint = Column("Endpoint", String(128), nullable=False, primary_key=True)
326326
token = Column("Token", String(64), nullable=False, primary_key=True)
@@ -358,7 +358,7 @@ class TransferCache(rmsBase):
358358
"""TransferCache table"""
359359

360360
__tablename__ = "TransferCache"
361-
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8"}
361+
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8mb4"}
362362

363363
sourcename = Column("SourceName", String(64), nullable=False, primary_key=True)
364364
destinationname = Column("DestinationName", String(64), nullable=False, primary_key=True)

src/DIRAC/ResourceStatusSystem/DB/ResourceStatusDB.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class ResourceStatusCache(rssBase):
5050
"""
5151

5252
__tablename__ = "ResourceStatusCache"
53-
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8"}
53+
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8mb4"}
5454

5555
id = Column("ID", BigInteger, nullable=False, autoincrement=True, primary_key=True)
5656
sitename = Column("SiteName", String(64), nullable=False)
@@ -89,7 +89,7 @@ class ElementStatusBase:
8989
Prototype for tables.
9090
"""
9191

92-
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8"}
92+
__table_args__ = {"mysql_engine": "InnoDB", "mysql_charset": "utf8mb4"}
9393

9494
name = Column("Name", String(64), nullable=False, primary_key=True)
9595
statustype = Column("StatusType", String(128), nullable=False, server_default="all", primary_key=True)

0 commit comments

Comments
 (0)