Я использую alembi c для миграции базы данных. И используя sqlalchemy для соединения с базой данных, используя python.
. В alembi c мы определяем схему таблицы как первую версию, а именно ту, которая создает схему.
Например, я дал схему вот так в моей первой версии alembi c.
op.create_table(
'my_table',
sa.Column('id', sa.String(10), primary_key=True),
sa.Column('mail', sa.String(20), unique=True)
)
Теперь давайте перейдем к части sqlalchemy. Внутри моего python проекта у меня есть файл подключения к базе данных, где я создал пользовательскую таблицу, подобную этой.
class CompanyInfo(Base):
__tablename__ = 'my_table'
id = Column(String(10), primary_key=False)
name = Column(String(20), unique=False)
Здесь Alembi c - это первое, что подключается к База данных и создание таблиц. Так какое же значение имеет то, что я указываю значения primary_key, уникального ограничения или nullable = T / F внутри моего python класса?
Мой вопрос касается только ограничений, а не типов данных и их длины.