New method for update tables using directly old tables in mariadb

This commit is contained in:
Antonio de la Rosa 2024-04-16 01:27:29 +02:00
parent dec0613c75
commit 2599eabed0
9 changed files with 151 additions and 22 deletions

View file

@ -38,6 +38,9 @@ class IntegerField(PhangoField):
super(IntegerField, self).__init__(name, size, required)
self.default_value=0
self.type_sql='int({})'.format(self.size)
def check(self, value):
@ -82,6 +85,11 @@ class BigIntegerField(IntegerField):
"""
def __init__(self, name, size=11, required=False):
super().__init__(name, size, required)
self.type_sql='bigint({})'.format(self.size)
def get_type_sql(self):
"""Method for return the sql code for this type
@ -107,6 +115,7 @@ class FloatField(PhangoField):
self.error_default="The value is zero"
self.default_value=0
self.type_sql='float'.format(self.size)
def check(self, value):
@ -147,6 +156,11 @@ class FloatField(PhangoField):
class DecimalField(FloatField):
"""PhangoField field for Decimals fields."""
def __init__(self, name, size=11, required=False):
super().__init__(name, size, required)
self.type_sql='decimal(20,2)'
def get_type_sql(self):
return 'DECIMAL(20, 2) NOT NULL DEFAULT "0"'
@ -154,6 +168,11 @@ class DecimalField(FloatField):
class DoubleField(FloatField):
"""PhangoField field for Double fields."""
def __init__(self, name, size=11, required=False):
super().__init__(name, size, required)
self.type_sql='double'
def get_type_sql(self):
return 'DOUBLE NOT NULL DEFAULT "0"'
@ -182,6 +201,8 @@ class TextField(PhangoField):
super().__init__(name, 11, required)
self.type_sql='text'
self.set_default='NOT NULL'
def get_type_sql(self):
@ -197,7 +218,21 @@ class LongTextField(TextField):
Class used for text fields, use LONGTEXT sql type for the this field.
"""
def __init__(self, name, required=False):
"""Init TextField class different to standard PhangoField
Args:
name (str): The name of new field
required (bool): Boolean for define if field is required or not
Attributes:
set_default (str): Set if the value es NOT NULL or not
"""
super().__init__(name, required)
self.type_sql='longtext'
def get_type_sql(self):
"""Method for return the sql code for this type
@ -339,6 +374,8 @@ class BooleanField(IntegerField):
self.default_error="Need 0 or 1 value"
self.default_value=0
self.type_sql='tinyint(1)'
def check(self, value):
self.error=False