Как изменить значение размера строки для ENUM в Sqlalchemy/PostgreSQLPython

Программы на Python
Ответить
Anonymous
 Как изменить значение размера строки для ENUM в Sqlalchemy/PostgreSQL

Сообщение Anonymous »

Я пишу приложение Flask с использованием SqlAlchemy и PostgreSQL. Когда я пытаюсь ввести значение в поле перечисления, содержащее более шести символов, я получаю следующую ошибку: sqlalchemy.exc.DataError: (psycopg2.errors.StringDataRightTruncation) значение слишком длинное для изменения типа символа (6)
Я предполагаю, что мне нужно изменить длину строки поля ENUM. Кто-нибудь знает, как это сделать?
Вот моя модель. Соответствующий столбец — роль.
class User(db.Model, UserMixin): #Parent table to profile
ROLE = OrderedDict([
('admin', 'Admin'),
('carrier', 'Carrier'),
('driver', 'Driver'),
('dispatcher', 'Dispatcher'),
('super', 'Super'),
])
id = db.Column(db.Integer, primary_key = True)

user = db.relationship('Profile', backref='User', passive_deletes=True)
percentage = db.relationship('Percentage', backref='User', passive_deletes=True)

company_id = db.Column(db.Integer)
role = db.Column(db.Enum(*ROLE, name='role_types', native_enum=False),
index=True, nullable=False, server_default='admin')
active = db.Column('is_active', db.Boolean(), nullable=False,
server_default='1')
username = db.Column(db.String(24), unique=True, index=True)
firstname = db.Column(db.String(50), nullable=False)
lastname = db.Column(db.String(50), index=True,nullable=False)
email = db.Column(db.String(255), unique=True, index=True, nullable=False,
server_default='')
password = db.Column(db.String(256), nullable=False, server_default='')


Подробнее здесь: https://stackoverflow.com/questions/738 ... postgresql
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»