Support unsigned types (#177)
This commit is contained in:
parent
1df8e4d4e0
commit
2f1cca13d6
@ -299,6 +299,44 @@ export default function FieldDetails({ data, tid, index }) {
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
{databases[database].hasUnsignedTypes &&
|
||||
dbToTypes[database][data.type].signed && (
|
||||
<div className="flex justify-between items-center my-3">
|
||||
<div className="font-medium">{t("Unsigned")}</div>
|
||||
<Checkbox
|
||||
value="unsigned"
|
||||
checked={data.unsigned}
|
||||
onChange={(checkedValues) => {
|
||||
setUndoStack((prev) => [
|
||||
...prev,
|
||||
{
|
||||
action: Action.EDIT,
|
||||
element: ObjectType.TABLE,
|
||||
component: "field",
|
||||
tid: tid,
|
||||
fid: index,
|
||||
undo: {
|
||||
[checkedValues.target.value]:
|
||||
!checkedValues.target.checked,
|
||||
},
|
||||
redo: {
|
||||
[checkedValues.target.value]:
|
||||
checkedValues.target.checked,
|
||||
},
|
||||
message: t("edit_table", {
|
||||
tableName: tables[tid].name,
|
||||
extra: "[field]",
|
||||
}),
|
||||
},
|
||||
]);
|
||||
setRedoStack([]);
|
||||
updateField(tid, index, {
|
||||
unsigned: checkedValues.target.checked,
|
||||
});
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
<div className="font-semibold">{t("comment")}</div>
|
||||
<TextArea
|
||||
className="my-2"
|
||||
|
@ -13,6 +13,7 @@ export const databases = new Proxy(
|
||||
label: DB.MYSQL,
|
||||
image: mysqlImage,
|
||||
hasTypes: false,
|
||||
hasUnsignedTypes: true,
|
||||
},
|
||||
[DB.POSTGRES]: {
|
||||
name: "PostgreSQL",
|
||||
@ -33,6 +34,7 @@ export const databases = new Proxy(
|
||||
label: DB.MARIADB,
|
||||
image: mariadbImage,
|
||||
hasTypes: false,
|
||||
hasUnsignedTypes: true,
|
||||
},
|
||||
[DB.MSSQL]: {
|
||||
name: "MSSQL",
|
||||
|
@ -279,6 +279,7 @@ const mysqlTypesBase = {
|
||||
isSized: false,
|
||||
hasPrecision: false,
|
||||
canIncrement: true,
|
||||
signed: true,
|
||||
},
|
||||
SMALLINT: {
|
||||
type: "SMALLINT",
|
||||
@ -289,6 +290,7 @@ const mysqlTypesBase = {
|
||||
isSized: false,
|
||||
hasPrecision: false,
|
||||
canIncrement: true,
|
||||
signed: true,
|
||||
},
|
||||
MEDIUMINT: {
|
||||
type: "MEDIUMINT",
|
||||
@ -299,6 +301,7 @@ const mysqlTypesBase = {
|
||||
isSized: false,
|
||||
hasPrecision: false,
|
||||
canIncrement: true,
|
||||
signed: true,
|
||||
},
|
||||
INTEGER: {
|
||||
type: "INTEGER",
|
||||
@ -309,6 +312,7 @@ const mysqlTypesBase = {
|
||||
isSized: false,
|
||||
hasPrecision: false,
|
||||
canIncrement: true,
|
||||
signed: true,
|
||||
},
|
||||
BIGINT: {
|
||||
type: "BIGINT",
|
||||
@ -319,6 +323,7 @@ const mysqlTypesBase = {
|
||||
isSized: false,
|
||||
hasPrecision: false,
|
||||
canIncrement: true,
|
||||
signed: true,
|
||||
},
|
||||
DECIMAL: {
|
||||
type: "DECIMAL",
|
||||
|
@ -235,6 +235,7 @@ const en = {
|
||||
declare_array: "Declare array",
|
||||
empty_index_name: "Declared an index with no name in table '{{tableName}}'",
|
||||
didnt_find_diagram: "Oops! Didn't find the diagram.",
|
||||
unsigned: "Unsigned",
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -13,7 +13,7 @@ export function toMariaDB(diagram) {
|
||||
(field) =>
|
||||
`${exportFieldComment(field.comment)}\t\`${
|
||||
field.name
|
||||
}\` ${field.type}${field.notNull ? " NOT NULL" : ""}${
|
||||
}\` ${field.type}${field.unsigned ? " UNSIGNED" : ""}${field.notNull ? " NOT NULL" : ""}${
|
||||
field.increment ? " AUTO_INCREMENT" : ""
|
||||
}${field.unique ? " UNIQUE" : ""}${
|
||||
field.default !== ""
|
||||
|
@ -13,7 +13,7 @@ export function toMySQL(diagram) {
|
||||
(field) =>
|
||||
`${exportFieldComment(field.comment)}\t\`${
|
||||
field.name
|
||||
}\` ${field.type}${field.size !== undefined && field.size !== "" ? "(" + field.size + ")" : ""}${
|
||||
}\` ${field.type}${field.unsigned ? " UNSIGNED" : ""}${field.size !== undefined && field.size !== "" ? "(" + field.size + ")" : ""}${
|
||||
field.notNull ? " NOT NULL" : ""
|
||||
}${
|
||||
field.increment ? " AUTO_INCREMENT" : ""
|
||||
|
Loading…
Reference in New Issue
Block a user