Найти - Пользователи
Полная версия: Миграции в SQLAlchemy
Начало » Базы данных » Миграции в SQLAlchemy
1
myarik
Добрый день.

Начал разбираться с Flask-ом, до этого использовал только Django. После использования south, немного застрял с миграциями в SQLAlchemy. В качестве примера использовал статью http://habrahabr.ru/post/196810/.

Есть следующая структура данных

class Base(db.Model):
    __abstract__ = True
    id = db.Column(db.Integer, primary_key=True)
    date_created = db.Column(db.DateTime,  default=db.func.current_timestamp())
    date_modified = db.Column(db.DateTime,  default=db.func.current_timestamp(),
                              onupdate=db.func.current_timestamp())
class User(Base):
    __tablename__ = 'user'
    # Email
    email = db.Column(db.String(128),  nullable=False, unique=True)
    # User Name
    name = db.Column(db.String(256),  nullable=False)
    # User Surname
    surname = db.Column(db.String(256),  nullable=False)

Сделал первую миграцию, все прошло без ошибок, таблица появилась в базе. Попробовал добавить вторую модель
class Note(Base):
    __tablename__ = 'note'
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    user = db.relationship('User',
                           backref=db.backref('note', lazy='dynamic'))
    text = db.Column(db.Text, nullable=True)
Делаю миграцию выпадает ошибка
002_migration.py", line 10
    Column('date_created', DateTime, default=ColumnDefault(<sqlalchemy.sql.functions.current_timestamp at 0x7f918cb02dd0; current_timestamp>)),
                                                        ^
SyntaxError: invalid syntax
Насколько я понял проблема в строчке <sqlalchemy.sql.functions.current_timestamp at 0x7f918cb02dd0; current_timestamp>, буду благодарен за любую подсказку.
lorien
> default=db.func.current_timestamp())

Возможно тут нужно передавать функцию, а не её результат, попробуйте убрать вызов функции т.е. символы “()”
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB