SQLAlchemy: различия между версиями

Содержимое удалено Содержимое добавлено
Добавлен импорт Column, Integer и String, т.к. иначе из примера непонятно, где они задаются.
Строка 54:
Далее же мы пошлем базе ''CREATE TABLE'', параметры которого будут взяты из метаданных нашей таблицы. Мы вызовем метод ''create_all()'' и передадим ему наш объект ''engine'', который и указывает на базу. Там сначала будет проверено присутствие такой таблицы перед ее созданием, так что можно выполнять это много раз — ничего страшного не случится.
<source lang=python>metadata.create_all(engine)</source>
Те, кто знаком с синтаксисом SQL и в частности ''CREATE TABLE'', могут заметить, что колонки ''VARCHAR'' создаются без указания их длины. В ''SQLite'' и ''PostgreSQL'' это вполне допустимый тип данных, но во многих других СУБД так делать нельзя. Для того, чтобы выполнить этот урок в ''PostgreSQL'' или ''MySQL'', длина должна быть передана строкам, как здесь:
<source lang=python>Column('name', String(50))</source>
Поле «длина» в строках String, как и простая разрядность/точность в ''Integer'', ''Numeric'' и т. п. не используются более нигде, кроме как при создании таблиц.