def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.add_column('release_monitor', sa.Column('activated', sa.Boolean(), nullable=True))
class CommentMixin: text = sa.Column(sa.String, nullable=False, doc="Comment body.") attachment_name = sa.Column(sa.String, nullable=True, doc="Filename of the attachment.") attachment_bytes = sa.Column( sa.types.LargeBinary, nullable=True, doc="Binary representation of the attachment.", ) origin = sa.Column(sa.String, nullable=True, doc='Comment origin.') bot = sa.Column( sa.Boolean(), nullable=False, server_default="false", doc= "Boolean indicating whether comment was posted via a bot (token-based request).", ) @classmethod def backref_name(cls): if cls.__name__ == 'Comment': return "comments" if cls.__name__ == 'CommentOnSpectrum': return 'comments_on_spectra' if cls.__name__ == 'CommentOnGCN': return 'comments_on_gcns' if cls.__name__ == 'CommentOnShift': return 'comments_on_shifts' @declared_attr def author(cls): return relationship( "User", back_populates=cls.backref_name(), doc="Comment's author.", uselist=False, foreign_keys=f"{cls.__name__}.author_id", ) @declared_attr def author_id(cls): return sa.Column( sa.ForeignKey('users.id', ondelete='CASCADE'), nullable=False, index=True, doc="ID of the Comment author's User instance.", ) @declared_attr def groups(cls): return relationship( "Group", secondary="group_" + cls.backref_name(), cascade="save-update, merge, refresh-expire, expunge", passive_deletes=True, doc="Groups that can see the comment.", ) def construct_author_info_dict(self): return { field: getattr(self.author, field) for field in ('username', 'first_name', 'last_name', 'gravatar_url') }
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.create_table('Cities', sa.Column('id', sa.Integer(), nullable=False), sa.Column('label', sa.String(length=200), nullable=False), sa.Column('created_at', sa.Integer(), nullable=True), sa.Column('updated_at', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id')) op.create_table('Countries', sa.Column('id', sa.Integer(), nullable=False), sa.Column('label', sa.String(length=200), nullable=False), sa.Column('created_at', sa.Integer(), nullable=True), sa.Column('updated_at', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id')) op.create_table('Customers', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=100), nullable=True), sa.Column('phone', sa.String(length=20), nullable=False), sa.Column('email', sa.String(length=50), nullable=True), sa.Column('created_at', sa.Integer(), nullable=True), sa.Column('updated_at', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('phone'), sa.UniqueConstraint('phone')) op.create_table( 'Orders', sa.Column('id', sa.Integer(), nullable=False), sa.Column('time', sa.Integer(), nullable=False), sa.Column('description', sa.String(length=200), nullable=True), sa.Column('status', sa.Enum('booking', 'confirmed', 'rejected', 'paid', name='orderstatusenum'), nullable=False), sa.Column('paiment', sa.Boolean(), nullable=True), sa.Column('auto_confirm', sa.Boolean(), nullable=True), sa.Column('created_at', sa.Integer(), nullable=True), sa.Column('updated_at', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id')) op.create_table( 'SCHDetails', sa.Column('id', sa.Integer(), nullable=False), sa.Column('time', sa.Integer(), nullable=False), sa.Column('description', sa.String(length=200), nullable=True), sa.Column('members', sa.Integer(), nullable=False), sa.Column('created_at', sa.Integer(), nullable=True), sa.Column('updated_at', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id')) op.create_table( 'CustomerOrders', sa.Column('id', sa.Integer(), nullable=False), sa.Column('customer_id', sa.Integer(), nullable=False), sa.Column('order_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ['customer_id'], ['Customers.id'], ), sa.ForeignKeyConstraint( ['order_id'], ['Orders.id'], ), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('customer_id', 'order_id')) op.create_table( 'Schedules', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=100), nullable=True), sa.Column('description', sa.String(length=200), nullable=True), sa.Column('email', sa.String(length=50), nullable=False), sa.Column('phone', sa.String(length=20), nullable=False), sa.Column('country_id', sa.Integer(), nullable=False), sa.Column('city_id', sa.Integer(), nullable=False), sa.Column('address', sa.String(length=200), nullable=True), sa.Column('flags', sa.Integer(), nullable=True), sa.Column('data', sa.JSON(), nullable=True), sa.Column('created_at', sa.Integer(), nullable=True), sa.Column('updated_at', sa.Integer(), nullable=True), sa.ForeignKeyConstraint( ['city_id'], ['Cities.id'], ), sa.ForeignKeyConstraint( ['country_id'], ['Countries.id'], ), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('name'), sa.UniqueConstraint('name')) op.create_table( 'Users', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=100), nullable=True), sa.Column('organization', sa.String(length=200), nullable=True), sa.Column('description', sa.String(length=200), nullable=True), sa.Column('login', sa.String(length=100), nullable=True), sa.Column('password', sa.String(length=100), nullable=False), sa.Column('email', sa.String(length=50), nullable=False), sa.Column('phone', sa.String(length=20), nullable=False), sa.Column('country_id', sa.Integer(), nullable=True), sa.Column('city_id', sa.Integer(), nullable=True), sa.Column('address', sa.String(length=200), nullable=True), sa.Column('mail_agreement', sa.Boolean(), nullable=True), sa.Column('flags', sa.Integer(), nullable=True), sa.Column('data', sa.JSON(), nullable=True), sa.Column('created_at', sa.Integer(), nullable=True), sa.Column('updated_at', sa.Integer(), nullable=True), sa.ForeignKeyConstraint( ['city_id'], ['Cities.id'], ), sa.ForeignKeyConstraint( ['country_id'], ['Countries.id'], ), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('login'), sa.UniqueConstraint('login', 'email'), sa.UniqueConstraint('phone')) op.create_table( 'ScheduleDetails', sa.Column('id', sa.Integer(), nullable=False), sa.Column('schedule_id', sa.Integer(), nullable=False), sa.Column('sch_detail_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ['sch_detail_id'], ['SCHDetails.id'], ), sa.ForeignKeyConstraint( ['schedule_id'], ['Schedules.id'], ), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('schedule_id', 'sch_detail_id')) op.create_table( 'UserSchedules', sa.Column('id', sa.Integer(), nullable=False), sa.Column('user_id', sa.Integer(), nullable=False), sa.Column('schedule_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ['schedule_id'], ['Schedules.id'], ), sa.ForeignKeyConstraint( ['user_id'], ['Users.id'], ), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('user_id', 'schedule_id')) # for tests op.execute( "insert into Users (login, password, email, phone, email_confirm, phone_confirm, flags) values ('admin', '202cb962ac59075b964b07152d234b70', '*****@*****.**', '111', True, True, -1)" )
def upgrade(): ### commands auto generated by Alembic - please adjust! ### op.create_table('category', sa.Column('id', sa.Integer(), nullable=False), sa.Column('created_on', sa.DateTime(), nullable=False), sa.Column('updated_on', sa.DateTime(), nullable=False), sa.Column('name', sa.String(length=64), nullable=False), sa.PrimaryKeyConstraint('id') ) op.create_table('order', sa.Column('id', sa.Integer(), nullable=False), sa.Column('created_on', sa.DateTime(), nullable=False), sa.Column('updated_on', sa.DateTime(), nullable=False), sa.PrimaryKeyConstraint('id') ) op.create_table('order_item', sa.Column('id', sa.Integer(), nullable=False), sa.Column('created_on', sa.DateTime(), nullable=False), sa.Column('updated_on', sa.DateTime(), nullable=False), sa.PrimaryKeyConstraint('id') ) op.create_table('price_tier', sa.Column('id', sa.Integer(), nullable=False), sa.Column('created_on', sa.DateTime(), nullable=False), sa.Column('updated_on', sa.DateTime(), nullable=False), sa.PrimaryKeyConstraint('id') ) op.create_table('user', sa.Column('id', sa.Integer(), nullable=False), sa.Column('created_on', sa.DateTime(), nullable=False), sa.Column('updated_on', sa.DateTime(), nullable=False), sa.Column('email', sa.String(length=127), nullable=False), sa.Column('password', sa.String(length=255), nullable=False), sa.Column('admin', sa.Boolean(), nullable=False), sa.Column('store_name', sa.String(length=127), nullable=True), sa.Column('contact_name', sa.String(length=127), nullable=True), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('contact_name'), sa.UniqueConstraint('email'), sa.UniqueConstraint('store_name') ) op.create_table('product', sa.Column('id', sa.Integer(), nullable=False), sa.Column('created_on', sa.DateTime(), nullable=False), sa.Column('updated_on', sa.DateTime(), nullable=False), sa.Column('name', sa.String(length=256), nullable=False), sa.Column('category_id', sa.Integer(), nullable=True), sa.Column('description', sa.String(length=500), nullable=False), sa.ForeignKeyConstraint(['category_id'], ['category.id'], ), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('name') ) op.create_table('product_sku', sa.Column('id', sa.Integer(), nullable=False), sa.Column('created_on', sa.DateTime(), nullable=False), sa.Column('updated_on', sa.DateTime(), nullable=False), sa.Column('sku_code', sa.String(length=16), nullable=False), sa.Column('description', sa.String(length=500), nullable=False), sa.Column('product_id', sa.Integer(), nullable=True), sa.Column('cost', sa.Float(), nullable=True), sa.Column('msrp', sa.Float(), nullable=True), sa.ForeignKeyConstraint(['product_id'], ['product.id'], ), sa.PrimaryKeyConstraint('id') ) op.create_table('product_sku_price', sa.Column('id', sa.Integer(), nullable=False), sa.Column('created_on', sa.DateTime(), nullable=False), sa.Column('updated_on', sa.DateTime(), nullable=False), sa.Column('product_id', sa.Integer(), nullable=True), sa.Column('price', sa.Float(), nullable=False), sa.ForeignKeyConstraint(['product_id'], ['product.id'], ), sa.PrimaryKeyConstraint('id') )
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.add_column('prescription', sa.Column('active', sa.Boolean(), nullable=True)) op.add_column('prescription', sa.Column('notify', sa.Boolean(), nullable=True))
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.add_column('towerDB', sa.Column('half_muffled', sa.Boolean(), nullable=True))
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.create_table('Livro', sa.Column('id', sa.Integer(), nullable=False), sa.Column('autor', sa.String(length=50), nullable=False), sa.Column('titulo', sa.String(length=50), nullable=False), sa.Column('ano', sa.Integer(), nullable=False), sa.Column('editora', sa.String(length=50), nullable=False), sa.Column('codigo', sa.String(length=50), nullable=False), sa.Column('quantidade', sa.Integer(), nullable=False), sa.Column('disponivel', sa.Integer(), nullable=False), sa.Column('ativo', sa.Boolean(), nullable=True), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('codigo')) op.create_table('Usuario', sa.Column('id', sa.Integer(), nullable=False), sa.Column('nome', sa.String(length=50), nullable=False), sa.Column('login', sa.String(length=50), nullable=False), sa.Column('senha', sa.String(length=100), nullable=False), sa.Column('email', sa.String(length=50), nullable=False), sa.Column('ativo', sa.Boolean(), nullable=True), sa.Column('tipo', sa.String(length=50), nullable=True), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('email'), sa.UniqueConstraint('login')) op.create_table( 'Cliente', sa.Column('id', sa.Integer(), nullable=False), sa.Column('cpf', sa.String(length=50), nullable=False), sa.Column('telefone', sa.String(length=50), nullable=False), sa.ForeignKeyConstraint( ['id'], ['Usuario.id'], ), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('cpf')) op.create_table('Funcionario', sa.Column('id', sa.Integer(), nullable=False), sa.Column('cargo', sa.String(length=50), nullable=False), sa.ForeignKeyConstraint( ['id'], ['Usuario.id'], ), sa.PrimaryKeyConstraint('id')) op.create_table( 'Aluga', sa.Column('id', sa.Integer(), nullable=False), sa.Column('data_locacao', sa.Date(), nullable=False), sa.Column('data_devolucao', sa.Date(), nullable=False), sa.Column('data_devolvido', sa.Date(), nullable=True), sa.Column('diaria', sa.Float(), nullable=False), sa.Column('ativo', sa.Boolean(), nullable=True), sa.Column('id_funcionario', sa.Integer(), nullable=False), sa.Column('id_cliente', sa.Integer(), nullable=False), sa.Column('id_livro', sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ['id_cliente'], ['Cliente.id'], ), sa.ForeignKeyConstraint( ['id_funcionario'], ['Funcionario.id'], ), sa.ForeignKeyConstraint( ['id_livro'], ['Livro.id'], ), sa.PrimaryKeyConstraint('id')) op.create_table('Reserva', sa.Column('id', sa.Integer(), nullable=False), sa.Column('data_reserva', sa.Date(), nullable=False), sa.Column('data_retirada', sa.Date(), nullable=False), sa.Column('ativo', sa.Boolean(), nullable=True), sa.Column('id_cliente', sa.Integer(), nullable=False), sa.Column('id_livro', sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ['id_cliente'], ['Cliente.id'], ), sa.ForeignKeyConstraint( ['id_livro'], ['Livro.id'], ), sa.PrimaryKeyConstraint('id')) op.create_table('Conta', sa.Column('id', sa.Integer(), nullable=False), sa.Column('data_efetuada', sa.Date(), nullable=False), sa.Column('data_pagamento', sa.Date(), nullable=False), sa.Column('data_paga', sa.Date(), nullable=True), sa.Column('multa', sa.Float(), nullable=True), sa.Column('valor_total', sa.Float(), nullable=True), sa.Column('ativo', sa.Boolean(), nullable=True), sa.Column('id_aluga', sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ['id_aluga'], ['Aluga.id'], ), sa.PrimaryKeyConstraint('id'))
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.add_column('task', sa.Column('has_changed', sa.Boolean(), nullable=True))
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.add_column('project_classes', sa.Column('uses_supervisor', sa.Boolean(), nullable=True))
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### ats = op.create_table('articleTypeSettings', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=64), nullable=True), sa.Column('protected', sa.Boolean(), nullable=True), sa.Column('hide', sa.Boolean(), nullable=True), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('name') ) blog_info = op.create_table('blog_info', sa.Column('id', sa.Integer(), nullable=False), sa.Column('title', sa.String(length=64), nullable=True), sa.Column('signature', sa.Text(), nullable=True), sa.Column('navbar', sa.String(length=64), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_table('blog_view', sa.Column('date', sa.DATE(), nullable=False), sa.Column('pv', sa.BigInteger(), nullable=True), sa.Column('uv', sa.BigInteger(), nullable=True), sa.PrimaryKeyConstraint('date') ) op.create_table('menus', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=64), nullable=True), sa.Column('order', sa.Integer(), nullable=False), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('name') ) plugins = op.create_table('plugins', sa.Column('id', sa.Integer(), nullable=False), sa.Column('title', sa.String(length=64), nullable=True), sa.Column('note', sa.Text(), nullable=True), sa.Column('content', sa.Text(), nullable=True), sa.Column('order', sa.Integer(), nullable=True), sa.Column('disabled', sa.Boolean(), nullable=True), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('title') ) op.create_index(op.f('ix_plugins_order'), 'plugins', ['order'], unique=False) sources = op.create_table('sources', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=64), nullable=True), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('name') ) op.create_table('users', sa.Column('created_at', sa.DateTime(), nullable=True), sa.Column('id', sa.Integer(), nullable=False), sa.Column('email', sa.String(length=64), nullable=True), sa.Column('username', sa.String(length=64), nullable=True), sa.Column('password', sa.String(length=128), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_users_email'), 'users', ['email'], unique=True) op.create_index(op.f('ix_users_username'), 'users', ['username'], unique=True) articleTypes = op.create_table('articleTypes', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=64), nullable=True), sa.Column('introduction', sa.Text(), nullable=True), sa.Column('menu_id', sa.Integer(), nullable=True), sa.Column('setting_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint(['menu_id'], ['menus.id'], ), sa.ForeignKeyConstraint(['setting_id'], ['articleTypeSettings.id'], ), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('name') ) op.create_table('articles', sa.Column('id', sa.Integer(), nullable=False), sa.Column('title', sa.String(length=64), nullable=True), sa.Column('content', sa.Text(), nullable=True), sa.Column('summary', sa.Text(), nullable=True), sa.Column('create_time', sa.DateTime(), nullable=True), sa.Column('update_time', sa.DateTime(), nullable=True), sa.Column('num_of_view', sa.Integer(), nullable=True), sa.Column('articleType_id', sa.Integer(), nullable=True), sa.Column('source_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint(['articleType_id'], ['articleTypes.id'], ), sa.ForeignKeyConstraint(['source_id'], ['sources.id'], ), sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_articles_create_time'), 'articles', ['create_time'], unique=False) op.create_index(op.f('ix_articles_update_time'), 'articles', ['update_time'], unique=False) op.create_table('comments', sa.Column('id', sa.Integer(), nullable=False), sa.Column('content', sa.Text(), nullable=True), sa.Column('create_time', sa.DateTime(), nullable=True), sa.Column('author_name', sa.String(length=64), nullable=True), sa.Column('author_email', sa.String(length=64), nullable=True), sa.Column('article_id', sa.Integer(), nullable=True), sa.Column('disabled', sa.Boolean(), nullable=True), sa.Column('comment_type', sa.String(length=64), nullable=True), sa.Column('rank', sa.String(length=64), nullable=True), sa.Column('floor', sa.Integer(), nullable=False), sa.Column('reply_to_id', sa.Integer(), nullable=True), sa.Column('reply_to_floor', sa.String(length=64), nullable=True), sa.ForeignKeyConstraint(['article_id'], ['articles.id'], ), sa.PrimaryKeyConstraint('id') ) # ### end Alembic commands ### # insert default data op.bulk_insert(ats, [ dict(id=1, name='system', protected=True, hide=True) ]) op.bulk_insert(blog_info,[ dict(id=1, title=u'femn', signature=u'基于tornado的分布式博客!— by femn', navbar='inverse') ]) op.bulk_insert(plugins, [ dict(id=1, title=u'博客统计', note=u'系统插件', content='system_plugin', order=1, disabled=False) ]) op.bulk_insert(sources, [ dict(id=1, name=u'原创', ), dict(id=2, name=u'转载', ), dict(id=3, name=u'翻译', ), ]) op.bulk_insert(articleTypes, [ dict(id=Constants.ARTICLE_TYPE_DEFAULT_ID, name=u'未分类', introduction=u'系统默认分类,不可删除。', setting_id=1, ), ])
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.create_table( 'group', sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('uuid', websauna.system.model.columns.UUID(), nullable=True), sa.Column('name', sa.String(length=64), nullable=False), sa.Column('description', sa.String(length=256), nullable=True), sa.Column('created_at', websauna.system.model.columns.UTCDateTime(), nullable=True), sa.Column('updated_at', websauna.system.model.columns.UTCDateTime(), nullable=True), sa.Column('group_data', postgresql.JSONB(astext_type=sa.Text()), nullable=True), sa.PrimaryKeyConstraint('id', name=op.f('pk_group')), sa.UniqueConstraint('name', name=op.f('uq_group_name'))) op.create_table( 'user_activation', sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('created_at', websauna.system.model.columns.UTCDateTime(), nullable=True), sa.Column('updated_at', websauna.system.model.columns.UTCDateTime(), nullable=True), sa.Column('expires_at', websauna.system.model.columns.UTCDateTime(), nullable=False), sa.Column('code', sa.String(length=32), nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_user_activation')), sa.UniqueConstraint('code', name=op.f('uq_user_activation_code'))) op.create_table( 'users', sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('uuid', websauna.system.model.columns.UUID(), nullable=True), sa.Column('username', sa.String(length=256), nullable=True), sa.Column('email', sa.String(length=256), nullable=True), sa.Column('password', sa.String(length=256), nullable=True), sa.Column('created_at', websauna.system.model.columns.UTCDateTime(), nullable=True), sa.Column('updated_at', websauna.system.model.columns.UTCDateTime(), nullable=True), sa.Column('activated_at', websauna.system.model.columns.UTCDateTime(), nullable=True), sa.Column('enabled', sa.Boolean(name='user_enabled_binary'), nullable=True), sa.Column('last_login_at', websauna.system.model.columns.UTCDateTime(), nullable=True), sa.Column('last_login_ip', websauna.system.model.columns.INET(length=50), nullable=True), sa.Column('user_data', postgresql.JSONB(astext_type=sa.Text()), nullable=True), sa.Column('last_auth_sensitive_operation_at', websauna.system.model.columns.UTCDateTime(), nullable=True), sa.Column('activation_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint( ['activation_id'], ['user_activation.id'], name=op.f('fk_users_activation_id_user_activation')), sa.PrimaryKeyConstraint('id', name=op.f('pk_users')), sa.UniqueConstraint('email', name=op.f('uq_users_email')), sa.UniqueConstraint('username', name=op.f('uq_users_username'))) op.create_table( 'usergroup', sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('user_id', sa.Integer(), nullable=True), sa.Column('group_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint(['group_id'], ['group.id'], name=op.f('fk_usergroup_group_id_group')), sa.ForeignKeyConstraint(['user_id'], ['users.id'], name=op.f('fk_usergroup_user_id_users')), sa.PrimaryKeyConstraint('id', name=op.f('pk_usergroup')))
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.add_column('todos', sa.Column('completed', sa.Boolean(), nullable=False))
def upgrade(): op.add_column('tastings', sa.Column('locked', sa.Boolean(), nullable=False, default=False))
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.create_table( 'blacklist_tokens', sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('token', sa.String(length=500), nullable=False), sa.Column('blacklisted_on', sa.DateTime(), nullable=False), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('token')) op.create_table( 'item', sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('public_id', sa.String(length=100), nullable=True), sa.Column('release_date', sa.DateTime(), nullable=True), sa.Column('selling', sa.Boolean(), nullable=False), sa.Column('name', sa.String(length=100), nullable=False), sa.Column('piece', sa.String(length=50), nullable=False), sa.Column('cost', sa.Float(), nullable=False), sa.Column('color', sa.String(length=50), nullable=True), sa.Column('size', sa.String(length=10), nullable=False), sa.Column('available', sa.Integer(), nullable=False), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('public_id')) op.create_table( 'user', sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('public_id', sa.String(length=100), nullable=True), sa.Column('registered_on', sa.DateTime(), nullable=True), sa.Column('fname', sa.String(length=100), nullable=True), sa.Column('lname', sa.String(length=100), nullable=True), sa.Column('email', sa.String(length=255), nullable=False), sa.Column('password_hash', sa.String(length=100), nullable=True), sa.Column('phone', sa.String(length=10), nullable=True), sa.Column('address', sa.String(length=100), nullable=True), sa.Column('city', sa.String(length=100), nullable=True), sa.Column('zip_code', sa.String(length=5), nullable=True), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('email'), sa.UniqueConstraint('public_id')) op.create_table( 'cart', sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('cost', sa.Float(), nullable=True), sa.Column('size', sa.Integer(), nullable=True), sa.Column('user_id', sa.String(length=100), nullable=True), sa.ForeignKeyConstraint( ['user_id'], ['user.public_id'], ), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('user_id')) op.create_table( 'cart_item', sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('cost', sa.Float(), nullable=True), sa.Column('quantity', sa.Integer(), nullable=True), sa.Column('name', sa.String(), nullable=True), sa.Column('cart_id', sa.String(length=100), nullable=False), sa.Column('item_id', sa.String(length=100), nullable=False), sa.ForeignKeyConstraint( ['cart_id'], ['cart.user_id'], ), sa.ForeignKeyConstraint( ['item_id'], ['item.public_id'], ), sa.PrimaryKeyConstraint('id', 'cart_id', 'item_id'))
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.create_table( 'users', sa.Column('id', sa.BigInteger(), autoincrement=False, nullable=False), sa.Column('name', sa.String(length=32), nullable=False), sa.Column('discriminator', sa.BigInteger(), nullable=False), sa.Column('is_bot', sa.Boolean(), nullable=False), sa.Column('avatar', sa.String(length=2000), nullable=True), sa.Column('created_at', sa.DateTime(), nullable=False), sa.Column('last_updated', sa.DateTime(), nullable=False), sa.PrimaryKeyConstraint('id')) op.create_table( 'dm_channels', sa.Column('id', sa.BigInteger(), nullable=False), sa.Column('remote_user_id', sa.BigInteger(), nullable=False), sa.ForeignKeyConstraint( ['remote_user_id'], ['users.id'], ), sa.PrimaryKeyConstraint('id')) op.create_table( 'guilds', sa.Column('id', sa.BigInteger(), autoincrement=False, nullable=False), sa.Column('name', sa.String(length=100), nullable=False), sa.Column('icon_url', sa.String(length=2000), nullable=True), sa.Column('owner_id', sa.BigInteger(), nullable=False), sa.Column('created_at', sa.DateTime(), nullable=False), sa.Column('last_updated', sa.DateTime(), nullable=False), sa.ForeignKeyConstraint( ['owner_id'], ['users.id'], ), sa.PrimaryKeyConstraint('id')) op.create_table( 'user_edits', sa.Column('user_id', sa.BigInteger(), nullable=False), sa.Column('edit_id', sa.BigInteger(), autoincrement=True, nullable=False), sa.Column('name', sa.String(length=100), nullable=False), sa.Column('discriminator', sa.BigInteger(), nullable=False), sa.Column('avatar', sa.String(length=2000), nullable=False), sa.Column('edit_time', sa.DateTime(), nullable=False), sa.ForeignKeyConstraint( ['user_id'], ['users.id'], ), sa.PrimaryKeyConstraint('edit_id')) op.create_table( 'dm_messages', sa.Column('id', sa.BigInteger(), autoincrement=False, nullable=False), sa.Column('channel_id', sa.BigInteger(), nullable=False), sa.Column('author_id', sa.BigInteger(), nullable=False), sa.Column('content', sa.String(length=2000), nullable=True), sa.Column('embed', sa.JSON(), nullable=True), sa.Column('created_at', sa.DateTime(), nullable=False), sa.ForeignKeyConstraint( ['author_id'], ['users.id'], ), sa.ForeignKeyConstraint( ['channel_id'], ['dm_channels.id'], ), sa.PrimaryKeyConstraint('id')) op.create_table( 'guild_channels', sa.Column('id', sa.BigInteger(), autoincrement=False, nullable=False), sa.Column('guild_id', sa.BigInteger(), nullable=False), sa.Column('name', sa.String(length=100), nullable=False), sa.Column('topic', sa.String(length=1024), nullable=True), sa.Column('created_at', sa.DateTime(), nullable=False), sa.Column('last_updated', sa.DateTime(), nullable=False), sa.ForeignKeyConstraint( ['guild_id'], ['guilds.id'], ), sa.PrimaryKeyConstraint('id')) op.create_table( 'guild_edits', sa.Column('edit_id', sa.BigInteger(), autoincrement=True, nullable=False), sa.Column('guild_id', sa.BigInteger(), nullable=False), sa.Column('name', sa.String(length=100), nullable=True), sa.Column('owner_id', sa.BigInteger(), nullable=False), sa.Column('edit_time', sa.DateTime(), nullable=False), sa.ForeignKeyConstraint( ['guild_id'], ['guilds.id'], ), sa.ForeignKeyConstraint( ['owner_id'], ['users.id'], ), sa.PrimaryKeyConstraint('edit_id')) op.create_table( 'guild_members', sa.Column('user_id', sa.BigInteger(), nullable=False), sa.Column('guild_id', sa.BigInteger(), nullable=False), sa.Column('id', sa.BigInteger(), autoincrement=True, nullable=False), sa.Column('nickname', sa.String(length=32), nullable=True), sa.Column('last_updated', sa.DateTime(), nullable=False), sa.ForeignKeyConstraint( ['guild_id'], ['guilds.id'], ), sa.ForeignKeyConstraint( ['user_id'], ['users.id'], ), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('id'), sa.UniqueConstraint('user_id', 'guild_id', name='unique_guild_and_id')) op.create_table( 'roles', sa.Column('id', sa.BigInteger(), autoincrement=False, nullable=False), sa.Column('guild_id', sa.BigInteger(), nullable=True), sa.Column('name', sa.String(length=100), nullable=False), sa.Column('created_at', sa.DateTime(), nullable=False), sa.ForeignKeyConstraint( ['guild_id'], ['guilds.id'], ), sa.PrimaryKeyConstraint('id')) op.create_table( 'ban_audit', sa.Column('audit_id', sa.BigInteger(), autoincrement=True, nullable=False), sa.Column('member_id', sa.BigInteger(), nullable=False), sa.Column('member_was_banned', sa.Boolean(), nullable=False), sa.Column('event_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint( ['member_id'], ['guild_members.id'], ), sa.PrimaryKeyConstraint('audit_id')) op.create_table( 'dm_channel_pins', sa.Column('pin_id', sa.BigInteger(), autoincrement=True, nullable=False), sa.Column('dm_channel_id', sa.BigInteger(), nullable=False), sa.Column('message_id', sa.BigInteger(), nullable=False), sa.Column('is_pinned', sa.Boolean(), nullable=False), sa.Column('pinned_at', sa.DateTime(), nullable=False), sa.Column('unpinned_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint( ['dm_channel_id'], ['dm_channels.id'], ), sa.ForeignKeyConstraint( ['message_id'], ['dm_messages.id'], ), sa.PrimaryKeyConstraint('pin_id')) op.create_table( 'dm_message_attachments', sa.Column('attachment_id', sa.BigInteger(), nullable=False), sa.Column('message_id', sa.BigInteger(), nullable=True), sa.Column('filename', sa.String(length=300), nullable=False), sa.Column('url', sa.String(length=2000), nullable=True), sa.Column('filesize', sa.BigInteger(), nullable=True), sa.ForeignKeyConstraint( ['message_id'], ['dm_messages.id'], ), sa.PrimaryKeyConstraint('attachment_id')) op.create_table( 'dm_message_deletions', sa.Column('message_id', sa.BigInteger(), nullable=False), sa.Column('deletion_time', sa.DateTime(), nullable=False), sa.ForeignKeyConstraint( ['message_id'], ['dm_messages.id'], ), sa.PrimaryKeyConstraint('message_id')) op.create_table( 'dm_message_edits', sa.Column('edit_id', sa.BigInteger(), autoincrement=True, nullable=False), sa.Column('message_id', sa.BigInteger(), nullable=False), sa.Column('content', sa.String(length=2000), nullable=True), sa.Column('embed', sa.JSON(), nullable=True), sa.Column('edit_time', sa.DateTime(), nullable=False), sa.ForeignKeyConstraint( ['message_id'], ['dm_messages.id'], ), sa.PrimaryKeyConstraint('edit_id')) op.create_table( 'guild_channel_edits', sa.Column('edit_id', sa.BigInteger(), autoincrement=True, nullable=False), sa.Column('guild_channel_id', sa.BigInteger(), nullable=False), sa.Column('name', sa.String(length=100), nullable=True), sa.Column('topic', sa.String(length=1024), nullable=True), sa.Column('edit_time', sa.DateTime(), nullable=False), sa.ForeignKeyConstraint( ['guild_channel_id'], ['guild_channels.id'], ), sa.PrimaryKeyConstraint('edit_id')) op.create_table( 'guild_join_guild_leave_audit', sa.Column('audit_id', sa.BigInteger(), autoincrement=True, nullable=False), sa.Column('guild_id', sa.BigInteger(), nullable=False), sa.Column('member_id', sa.BigInteger(), nullable=False), sa.Column('member_joined', sa.Boolean(), nullable=False), sa.Column('event_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint( ['guild_id'], ['guilds.id'], ), sa.ForeignKeyConstraint( ['member_id'], ['guild_members.id'], ), sa.PrimaryKeyConstraint('audit_id')) op.create_table( 'guild_member_edit', sa.Column('member_id', sa.BigInteger(), nullable=True), sa.Column('nickname', sa.String(length=32), nullable=True), sa.Column('edit_time', sa.DateTime(), nullable=False), sa.Column('edit_id', sa.BigInteger(), autoincrement=True, nullable=False), sa.ForeignKeyConstraint( ['member_id'], ['guild_members.id'], ), sa.PrimaryKeyConstraint('edit_id')) op.create_table( 'guild_member_roles', sa.Column('member_id', sa.BigInteger(), nullable=False), sa.Column('role_id', sa.BigInteger(), nullable=False), sa.ForeignKeyConstraint( ['member_id'], ['guild_members.id'], ), sa.ForeignKeyConstraint( ['role_id'], ['roles.id'], ), sa.PrimaryKeyConstraint('member_id', 'role_id')) op.create_table( 'guild_messages', sa.Column('id', sa.BigInteger(), autoincrement=False, nullable=False), sa.Column('channel_id', sa.BigInteger(), nullable=False), sa.Column('author_id', sa.BigInteger(), nullable=False), sa.Column('content', sa.String(length=2000), nullable=True), sa.Column('embed', sa.JSON(), nullable=True), sa.Column('created_at', sa.DateTime(), nullable=False), sa.ForeignKeyConstraint( ['author_id'], ['users.id'], ), sa.ForeignKeyConstraint( ['channel_id'], ['guild_channels.id'], ), sa.PrimaryKeyConstraint('id')) op.create_table( 'role_audit', sa.Column('audit_id', sa.BigInteger(), autoincrement=True, nullable=False), sa.Column('role_id', sa.BigInteger(), nullable=False), sa.Column('member_id', sa.BigInteger(), nullable=False), sa.Column('role_was_added', sa.Boolean(), nullable=False), sa.Column('event_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint( ['member_id'], ['guild_members.id'], ), sa.ForeignKeyConstraint( ['role_id'], ['roles.id'], ), sa.PrimaryKeyConstraint('audit_id')) op.create_table( 'role_edits', sa.Column('role_id', sa.BigInteger(), autoincrement=False, nullable=True), sa.Column('edit_id', sa.BigInteger(), autoincrement=True, nullable=False), sa.Column('name', sa.String(length=100), nullable=False), sa.Column('edit_time', sa.DateTime(), nullable=False), sa.ForeignKeyConstraint( ['role_id'], ['roles.id'], ), sa.PrimaryKeyConstraint('edit_id')) op.create_table( 'guild_channel_pins', sa.Column('pin_id', sa.BigInteger(), autoincrement=True, nullable=False), sa.Column('guild_channel_id', sa.BigInteger(), nullable=False), sa.Column('message_id', sa.BigInteger(), nullable=False), sa.Column('is_pinned', sa.Boolean(), nullable=False), sa.Column('pinned_at', sa.DateTime(), nullable=False), sa.Column('unpinned_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint( ['guild_channel_id'], ['guild_channels.id'], ), sa.ForeignKeyConstraint( ['message_id'], ['guild_messages.id'], ), sa.PrimaryKeyConstraint('pin_id')) op.create_table( 'guild_message_attachments', sa.Column('attachment_id', sa.BigInteger(), nullable=False), sa.Column('message_id', sa.BigInteger(), nullable=True), sa.Column('filename', sa.String(length=300), nullable=False), sa.Column('url', sa.String(length=2000), nullable=True), sa.Column('filesize', sa.BigInteger(), nullable=True), sa.ForeignKeyConstraint( ['message_id'], ['guild_messages.id'], ), sa.PrimaryKeyConstraint('attachment_id')) op.create_table( 'guild_message_deletions', sa.Column('message_id', sa.BigInteger(), nullable=False), sa.Column('deletion_time', sa.DateTime(), nullable=False), sa.ForeignKeyConstraint( ['message_id'], ['guild_messages.id'], ), sa.PrimaryKeyConstraint('message_id')) op.create_table( 'guild_message_edits', sa.Column('edit_id', sa.BigInteger(), autoincrement=True, nullable=False), sa.Column('message_id', sa.BigInteger(), nullable=False), sa.Column('content', sa.String(length=2000), nullable=True), sa.Column('embed', sa.JSON(), nullable=True), sa.Column('edit_time', sa.DateTime(), nullable=False), sa.ForeignKeyConstraint( ['message_id'], ['guild_messages.id'], ), sa.PrimaryKeyConstraint('edit_id'))
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.create_table('user', sa.Column('created_at', sa.DateTime(), nullable=True), sa.Column('updated_at', sa.DateTime(), nullable=True), sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=32), nullable=False), sa.Column('email', sa.String(length=64), nullable=False), sa.Column('password', sa.String(length=256), nullable=False), sa.Column('real_name', sa.String(length=20), nullable=True), sa.Column('phone', sa.String(length=11), nullable=True), sa.Column('work_years', sa.SmallInteger(), nullable=True), sa.Column('role', sa.SmallInteger(), nullable=True), sa.Column('resume_url', sa.String(length=64), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_user_email'), 'user', ['email'], unique=True) op.create_index(op.f('ix_user_name'), 'user', ['name'], unique=True) op.create_table('company_detail', sa.Column('created_at', sa.DateTime(), nullable=True), sa.Column('updated_at', sa.DateTime(), nullable=True), sa.Column('id', sa.Integer(), nullable=False), sa.Column('slug', sa.String(length=24), nullable=False), sa.Column('logo', sa.String(length=64), nullable=False), sa.Column('site', sa.String(length=64), nullable=False), sa.Column('location', sa.String(length=24), nullable=False), sa.Column('description', sa.String(length=100), nullable=True), sa.Column('about', sa.String(length=1024), nullable=True), sa.Column('tags', sa.String(length=128), nullable=True), sa.Column('stack', sa.String(length=128), nullable=True), sa.Column('team_introduction', sa.String(length=256), nullable=True), sa.Column('welfares', sa.String(length=256), nullable=True), sa.Column('user_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint(['user_id'], ['user.id'], ondelete='SET NULL'), sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_company_detail_slug'), 'company_detail', ['slug'], unique=True) op.create_table('job', sa.Column('created_at', sa.DateTime(), nullable=True), sa.Column('updated_at', sa.DateTime(), nullable=True), sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=24), nullable=True), sa.Column('salary_low', sa.Integer(), nullable=False), sa.Column('salary_high', sa.Integer(), nullable=False), sa.Column('location', sa.String(length=24), nullable=True), sa.Column('tags', sa.String(length=128), nullable=True), sa.Column('experience_requirement', sa.String(length=32), nullable=True), sa.Column('degree_requirement', sa.String(length=32), nullable=True), sa.Column('is_fulltime', sa.Boolean(), nullable=True), sa.Column('is_open', sa.Boolean(), nullable=True), sa.Column('company_id', sa.Integer(), nullable=True), sa.Column('views_count', sa.Integer(), nullable=True), sa.ForeignKeyConstraint(['company_id'], ['user.id'], ondelete='CASCADE'), sa.PrimaryKeyConstraint('id') ) op.create_table('resume', sa.Column('created_at', sa.DateTime(), nullable=True), sa.Column('updated_at', sa.DateTime(), nullable=True), sa.Column('id', sa.Integer(), nullable=False), sa.Column('user_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint(['user_id'], ['user.id'], ), sa.PrimaryKeyConstraint('id') ) op.create_table('delivery', sa.Column('created_at', sa.DateTime(), nullable=True), sa.Column('updated_at', sa.DateTime(), nullable=True), sa.Column('id', sa.Integer(), nullable=False), sa.Column('job_id', sa.Integer(), nullable=True), sa.Column('user_id', sa.Integer(), nullable=True), sa.Column('status', sa.SmallInteger(), nullable=True), sa.Column('response', sa.String(length=256), nullable=True), sa.ForeignKeyConstraint(['job_id'], ['job.id'], ondelete='SET NULL'), sa.ForeignKeyConstraint(['user_id'], ['user.id'], ondelete='SET NULL'), sa.PrimaryKeyConstraint('id') ) op.create_table('edu_experience', sa.Column('created_at', sa.DateTime(), nullable=True), sa.Column('updated_at', sa.DateTime(), nullable=True), sa.Column('id', sa.Integer(), nullable=False), sa.Column('begin_at', sa.DateTime(), nullable=True), sa.Column('end_at', sa.DateTime(), nullable=True), sa.Column('description', sa.String(length=1024), nullable=True), sa.Column('school', sa.String(length=32), nullable=False), sa.Column('specialty', sa.String(length=32), nullable=False), sa.Column('degree', sa.String(length=16), nullable=True), sa.Column('resume_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint(['resume_id'], ['resume.id'], ), sa.PrimaryKeyConstraint('id') ) op.create_table('job_experience', sa.Column('created_at', sa.DateTime(), nullable=True), sa.Column('updated_at', sa.DateTime(), nullable=True), sa.Column('id', sa.Integer(), nullable=False), sa.Column('begin_at', sa.DateTime(), nullable=True), sa.Column('end_at', sa.DateTime(), nullable=True), sa.Column('description', sa.String(length=1024), nullable=True), sa.Column('company', sa.String(length=32), nullable=False), sa.Column('city', sa.String(length=32), nullable=False), sa.Column('resume_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint(['resume_id'], ['resume.id'], ), sa.PrimaryKeyConstraint('id') ) op.create_table('preject_experience', sa.Column('created_at', sa.DateTime(), nullable=True), sa.Column('updated_at', sa.DateTime(), nullable=True), sa.Column('id', sa.Integer(), nullable=False), sa.Column('begin_at', sa.DateTime(), nullable=True), sa.Column('end_at', sa.DateTime(), nullable=True), sa.Column('description', sa.String(length=1024), nullable=True), sa.Column('name', sa.String(length=32), nullable=False), sa.Column('role', sa.String(length=32), nullable=True), sa.Column('technologys', sa.String(length=64), nullable=True), sa.Column('resume_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint(['resume_id'], ['resume.id'], ), sa.PrimaryKeyConstraint('id') ) op.create_table('user_job', sa.Column('user_id', sa.Integer(), nullable=True), sa.Column('job_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint(['job_id'], ['job.id'], ondelete='CASCADE'), sa.ForeignKeyConstraint(['user_id'], ['user.id'], ondelete='CASCADE') )
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.create_table( 'admin', sa.Column('id', sa.Integer(), nullable=False), sa.Column('manager', sa.String(length=100), nullable=True), sa.Column('password', sa.String(length=100), nullable=True), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('manager')) op.create_table( 'subcat', sa.Column('id', sa.Integer(), nullable=False), sa.Column('cat_name', sa.String(length=100), nullable=True), sa.Column('addtime', sa.DateTime(), nullable=True), sa.PrimaryKeyConstraint('id')) op.create_index(op.f('ix_subcat_addtime'), 'subcat', ['addtime'], unique=False) op.create_table( 'supercat', sa.Column('id', sa.Integer(), nullable=False), sa.Column('cat_name', sa.String(length=100), nullable=True), sa.Column('addtime', sa.DateTime(), nullable=True), sa.PrimaryKeyConstraint('id')) op.create_index(op.f('ix_supercat_addtime'), 'supercat', ['addtime'], unique=False) op.create_table( 'user', sa.Column('id', sa.Integer(), nullable=False), sa.Column('username', sa.String(length=100), nullable=True), sa.Column('password', sa.String(length=100), nullable=True), sa.Column('email', sa.String(length=100), nullable=True), sa.Column('phone', sa.String(length=11), nullable=True), sa.Column('consumption', sa.DECIMAL(precision=10, scale=2), nullable=True), sa.Column('addtime', sa.DateTime(), nullable=True), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('email'), sa.UniqueConstraint('phone')) op.create_index(op.f('ix_user_addtime'), 'user', ['addtime'], unique=False) op.create_table( 'goods', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=255), nullable=True), sa.Column('original_price', sa.DECIMAL(precision=10, scale=2), nullable=True), sa.Column('current_price', sa.DECIMAL(precision=10, scale=2), nullable=True), sa.Column('picture', sa.String(length=255), nullable=True), sa.Column('introduction', sa.Text(), nullable=True), sa.Column('view_count', sa.Integer(), nullable=True), sa.Column('is_sale', sa.Boolean(), nullable=True), sa.Column('is_now', sa.Boolean(), nullable=True), sa.Column('addtime', sa.DateTime(), nullable=True), sa.Column('supercat_id', sa.Integer(), nullable=True), sa.Column('subcat_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint( ['subcat_id'], ['subcat.id'], ), sa.ForeignKeyConstraint( ['supercat_id'], ['supercat.id'], ), sa.PrimaryKeyConstraint('id')) op.create_index(op.f('ix_goods_addtime'), 'goods', ['addtime'], unique=False) op.create_table( 'orders', sa.Column('id', sa.Integer(), nullable=False), sa.Column('addtime', sa.DateTime(), nullable=True), sa.Column('recevie_name', sa.String(length=255), nullable=True), sa.Column('recevie_address', sa.String(length=255), nullable=True), sa.Column('recevie_tel', sa.String(length=255), nullable=True), sa.Column('remark', sa.String(length=255), nullable=True), sa.Column('user_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint( ['user_id'], ['user.id'], ), sa.PrimaryKeyConstraint('id')) op.create_index(op.f('ix_orders_addtime'), 'orders', ['addtime'], unique=False) op.create_table('cart', sa.Column('id', sa.Integer(), nullable=False), sa.Column('addtime', sa.DateTime(), nullable=True), sa.Column('number', sa.Integer(), nullable=True), sa.Column('good_id', sa.Integer(), nullable=True), sa.Column('user_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint( ['good_id'], ['goods.id'], ), sa.PrimaryKeyConstraint('id')) op.create_index(op.f('ix_cart_addtime'), 'cart', ['addtime'], unique=False) op.create_table('orders_detail', sa.Column('id', sa.Integer(), nullable=False), sa.Column('goods_id', sa.Integer(), nullable=True), sa.Column('order_id', sa.Integer(), nullable=True), sa.Column('number', sa.Integer(), nullable=True), sa.Column('note', sa.String(length=255), nullable=True), sa.ForeignKeyConstraint( ['goods_id'], ['goods.id'], ), sa.ForeignKeyConstraint( ['order_id'], ['orders.id'], ), sa.PrimaryKeyConstraint('id'))
def upgrade(): ### commands auto generated by Alembic - please adjust! ### op.add_column('app_map', sa.Column('can_email', sa.Boolean(), nullable=True))
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.create_table('resources', sa.Column('id', sa.BigInteger(), nullable=False), sa.Column('name', sa.UnicodeText(), nullable=True), sa.PrimaryKeyConstraint('id')) op.create_table( 'users', sa.Column('created_at', sau.ArrowType(), nullable=False), sa.Column('updated_at', sau.ArrowType(), nullable=False), sa.Column('id', sa.BigInteger(), nullable=False), sa.Column('name', sa.UnicodeText(), nullable=False), sa.Column('username', sa.Unicode(length=64), nullable=False), sa.Column('password', sa.UnicodeText(), nullable=False), sa.Column('email', sa.UnicodeText(), nullable=True), sa.Column('phone', sa.BigInteger(), nullable=True), sa.Column('secondary_phone', sa.BigInteger(), nullable=True), sa.Column('bio', sa.UnicodeText(), nullable=False), sa.Column('immigration_status', sa.String(length=32), nullable=True), sa.Column('primary_role', sa.String(length=32), nullable=True), sa.Column('language', sa.String(length=2), nullable=False), sa.Column('country', sa.String(length=2), nullable=False), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('username')) op.create_index(op.f('ix_users_created_at'), 'users', ['created_at'], unique=False) op.create_index(op.f('ix_users_immigration_status'), 'users', ['immigration_status'], unique=False) op.create_index(op.f('ix_users_updated_at'), 'users', ['updated_at'], unique=False) op.create_table( 'user_resources', sa.Column('created_at', sau.ArrowType(), nullable=False), sa.Column('updated_at', sau.ArrowType(), nullable=False), sa.Column('id', sa.BigInteger(), nullable=False), sa.Column('resource_id', sa.BigInteger(), nullable=False), sa.Column('user_id', sa.BigInteger(), nullable=False), sa.Column('type', sa.String(length=8), nullable=True), sa.Column('quantity_available', sa.BigInteger(), nullable=True), sa.Column('quantity_needed', sa.BigInteger(), nullable=True), sa.Column('fulfilled', sa.Boolean(), server_default='0', nullable=False), sa.ForeignKeyConstraint(['resource_id'], ['resources.id'], onupdate='CASCADE', ondelete='RESTRICT'), sa.ForeignKeyConstraint(['user_id'], ['users.id'], onupdate='CASCADE', ondelete='CASCADE'), sa.PrimaryKeyConstraint('id')) op.create_index(op.f('ix_user_resources_created_at'), 'user_resources', ['created_at'], unique=False) op.create_index(op.f('ix_user_resources_type'), 'user_resources', ['type'], unique=False) op.create_index(op.f('ix_user_resources_updated_at'), 'user_resources', ['updated_at'], unique=False) op.create_table( 'user_resource_fulfillment', sa.Column('created_at', sau.ArrowType(), nullable=False), sa.Column('updated_at', sau.ArrowType(), nullable=False), sa.Column('id', sa.BigInteger(), nullable=False), sa.Column('fulfilling_resource_id', sa.BigInteger(), nullable=False), sa.Column('fulfilled_resource_id', sa.BigInteger(), nullable=False), sa.Column('fulfilled_quantity', sa.BigInteger(), nullable=False), sa.Column('confirmed_by_recipient', sa.Boolean(), server_default='0', nullable=False), sa.ForeignKeyConstraint(['fulfilled_resource_id'], ['user_resources.id'], onupdate='CASCADE', ondelete='RESTRICT'), sa.ForeignKeyConstraint(['fulfilling_resource_id'], ['user_resources.id'], onupdate='CASCADE', ondelete='RESTRICT'), sa.PrimaryKeyConstraint('id')) op.create_index(op.f('ix_user_resource_fulfillment_created_at'), 'user_resource_fulfillment', ['created_at'], unique=False) op.create_index(op.f('ix_user_resource_fulfillment_updated_at'), 'user_resource_fulfillment', ['updated_at'], unique=False)
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### with op.batch_alter_table('server', schema=None) as batch_op: batch_op.add_column(sa.Column('redis', sa.Boolean(), nullable=True)) batch_op.add_column(sa.Column('stunnel', sa.Boolean(), nullable=True))
def upgrade(): ### commands auto generated by Alembic - please adjust! ### op.create_table( 'user', sa.Column('id', sa.Integer(), nullable=False), sa.Column('firstname', sa.String(length=80), nullable=True), sa.Column('lastname', sa.String(length=80), nullable=True), sa.Column('username', sa.String(length=80), nullable=True), sa.Column('email', sa.String(length=80), nullable=True), sa.PrimaryKeyConstraint('id')) op.create_table( 'poll', sa.Column('id', sa.Integer(), nullable=False), sa.Column('title', sa.String(length=80), nullable=True), sa.Column('description', sa.Text(), nullable=True), sa.Column('slug', sa.String(length=80), nullable=True), sa.Column('type', sa.Enum('date', 'normal', name='poll_type'), nullable=True), sa.Column('created', sa.DateTime(), nullable=True), sa.Column('author_id', sa.Integer(), nullable=True), sa.Column('due_date', sa.DateTime(), nullable=True), sa.Column('anonymous_allowed', sa.Boolean(), nullable=True), sa.Column('public_listing', sa.Boolean(), nullable=True), sa.Column('require_login', sa.Boolean(), nullable=True), sa.Column('show_results', sa.Enum('summary', 'complete', 'never', 'summary_after_vote', 'complete_after_vote', name='poll_show_results'), nullable=True), sa.Column('send_mail', sa.Boolean(), nullable=True), sa.Column('one_vote_per_user', sa.Boolean(), nullable=True), sa.Column('allow_comments', sa.Boolean(), nullable=True), sa.ForeignKeyConstraint( ['author_id'], ['user.id'], ), sa.PrimaryKeyConstraint('id')) op.create_table('comment', sa.Column('id', sa.Integer(), nullable=False), sa.Column('text', sa.String(length=80), nullable=True), sa.Column('created', sa.DateTime(), nullable=True), sa.Column('name', sa.String(length=80), nullable=True), sa.Column('user_id', sa.Integer(), nullable=True), sa.Column('poll_id', sa.Integer(), nullable=True), sa.Column('deleted', sa.Boolean(), nullable=True), sa.ForeignKeyConstraint( ['poll_id'], ['poll.id'], ), sa.ForeignKeyConstraint( ['user_id'], ['user.id'], ), sa.PrimaryKeyConstraint('id')) op.create_table('choice_value', sa.Column('id', sa.Integer(), nullable=False), sa.Column('title', sa.String(length=80), nullable=True), sa.Column('icon', sa.String(length=64), nullable=True), sa.Column('color', sa.String(length=6), nullable=True), sa.Column('poll_id', sa.Integer(), nullable=True), sa.Column('deleted', sa.Boolean(), nullable=True), sa.ForeignKeyConstraint( ['poll_id'], ['poll.id'], ), sa.PrimaryKeyConstraint('id')) op.create_table('choice', sa.Column('id', sa.Integer(), nullable=False), sa.Column('text', sa.String(length=80), nullable=True), sa.Column('date', sa.DateTime(), nullable=True), sa.Column('poll_id', sa.Integer(), nullable=True), sa.Column('deleted', sa.Boolean(), nullable=True), sa.ForeignKeyConstraint( ['poll_id'], ['poll.id'], ), sa.PrimaryKeyConstraint('id')) op.create_table('vote', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=80), nullable=True), sa.Column('poll_id', sa.Integer(), nullable=True), sa.Column('user_id', sa.Integer(), nullable=True), sa.Column('anonymous', sa.Boolean(), nullable=True), sa.ForeignKeyConstraint( ['poll_id'], ['poll.id'], ), sa.ForeignKeyConstraint( ['user_id'], ['user.id'], ), sa.PrimaryKeyConstraint('id')) op.create_table( 'vote_choice', sa.Column('id', sa.Integer(), nullable=False), sa.Column('comment', sa.String(length=64), nullable=True), sa.Column('value_id', sa.Integer(), nullable=True), sa.Column('vote_id', sa.Integer(), nullable=True), sa.Column('choice_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint( ['choice_id'], ['choice.id'], ), sa.ForeignKeyConstraint( ['value_id'], ['choice_value.id'], ), sa.ForeignKeyConstraint( ['vote_id'], ['vote.id'], ), sa.PrimaryKeyConstraint('id'))
def upgrade(): op.create_table( 'campaign_anon_view', sa.Column('created_at', sa.DateTime(), nullable=False), sa.Column('updated_at', sa.DateTime(), nullable=False), sa.Column('campaign_id', sa.Integer(), nullable=False), sa.Column('anon_user_id', sa.Integer(), nullable=False), sa.Column('dismissed', sa.Boolean(), nullable=False), sa.Column('session_count', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['anon_user_id'], ['anon_user.id']), sa.ForeignKeyConstraint(['campaign_id'], ['campaign.id']), sa.PrimaryKeyConstraint('campaign_id', 'anon_user_id'), ) op.create_index( op.f('ix_campaign_anon_view_anon_user_id'), 'campaign_anon_view', ['anon_user_id'], unique=False, ) op.create_table( 'campaign_event_session', sa.Column('campaign_id', sa.Integer(), nullable=False), sa.Column('event_session_id', sa.Integer(), nullable=False), sa.Column('created_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['campaign_id'], ['campaign.id']), sa.ForeignKeyConstraint(['event_session_id'], ['event_session.id']), sa.PrimaryKeyConstraint('campaign_id', 'event_session_id'), ) op.create_index( op.f('ix_campaign_event_session_event_session_id'), 'campaign_event_session', ['event_session_id'], unique=False, ) op.create_table( 'campaign_anon_user_action', sa.Column('created_at', sa.DateTime(), nullable=False), sa.Column('updated_at', sa.DateTime(), nullable=False), sa.Column('action_id', sa.Integer(), nullable=False), sa.Column('anon_user_id', sa.Integer(), nullable=False), sa.Column('ipaddr', sa.String(length=45), nullable=True), sa.Column('useragent', sa.Unicode(length=250), nullable=True), sa.Column('data', JsonDict(), server_default='{}', nullable=False), sa.ForeignKeyConstraint(['action_id'], ['campaign_action.id']), sa.ForeignKeyConstraint(['anon_user_id'], ['anon_user.id']), sa.PrimaryKeyConstraint('action_id', 'anon_user_id'), ) op.create_index( op.f('ix_campaign_anon_user_action_anon_user_id'), 'campaign_anon_user_action', ['anon_user_id'], unique=False, ) op.add_column( 'campaign_view', sa.Column('session_count', sa.Integer(), nullable=False, server_default=sa.text('0')), ) op.alter_column('campaign_view', 'session_count', server_default=None)
def upgrade(): ### commands auto generated by Alembic - please adjust! ### op.create_table( 'coordinates', sa.Column('id', sa.Integer(), nullable=False), sa.Column('coordinates', geoalchemy2.types.Geometry(geometry_type='POINT', srid=4326), nullable=False), sa.PrimaryKeyConstraint('id')) op.create_table('description', sa.Column('id', sa.Integer(), nullable=False), sa.Column('description', sa.Text(), nullable=False), sa.PrimaryKeyConstraint('id')) op.create_table( 'image', sa.Column('id', sa.Integer(), nullable=False), sa.Column('data_key', sa.String(length=64), nullable=False), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('data_key')) op.create_table('issue', sa.Column('id', sa.Integer(), nullable=False), sa.Column('importance', sa.Integer(), nullable=False), sa.PrimaryKeyConstraint('id')) op.create_table('state', sa.Column('id', sa.Integer(), nullable=False), sa.Column('label', sa.String(length=32), nullable=False), sa.Column('name', sa.String(length=32), nullable=False), sa.Column('description', sa.Text(), nullable=True), sa.Column('weight', sa.SmallInteger(), nullable=False), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('label')) op.create_table('streetview', sa.Column('id', sa.Integer(), nullable=False), sa.Column('url', sa.String(), nullable=False), sa.PrimaryKeyConstraint('id')) op.create_table('tag', sa.Column('id', sa.Integer(), nullable=False), sa.Column('label', sa.String(length=64), nullable=False), sa.Column('name', sa.String(length=64), nullable=False), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('label'), sa.UniqueConstraint('name')) op.create_table('image_group', sa.Column('group_id', sa.Integer(), nullable=False), sa.Column('image_id', sa.Integer(), nullable=False), sa.Column('weight', sa.SmallInteger(), nullable=False), sa.ForeignKeyConstraint( ['image_id'], ['image.id'], ), sa.PrimaryKeyConstraint('group_id', 'image_id')) op.create_table( 'issue_version', sa.Column('issue_id', sa.Integer(), nullable=False), sa.Column('version', sa.DateTime(), server_default=sa.text(u'now()'), nullable=False), sa.Column('approved', sa.Boolean(), nullable=True), sa.Column('comment', sa.Text(), nullable=True), sa.Column('state_id', sa.Integer(), nullable=False), sa.Column('coordinates_id', sa.Integer(), nullable=False), sa.Column('description_id', sa.Integer(), nullable=True), sa.Column('tag_group_id', sa.Integer(), nullable=True), sa.Column('image_group_id', sa.Integer(), nullable=True), sa.Column('streetview_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint( ['coordinates_id'], ['coordinates.id'], ), sa.ForeignKeyConstraint( ['description_id'], ['description.id'], ), sa.ForeignKeyConstraint( ['issue_id'], ['issue.id'], ), sa.ForeignKeyConstraint( ['state_id'], ['state.id'], ), sa.ForeignKeyConstraint( ['streetview_id'], ['streetview.id'], ), sa.PrimaryKeyConstraint('issue_id', 'version')) op.create_table('tag_group', sa.Column('group_id', sa.Integer(), nullable=False), sa.Column('tag_id', sa.Integer(), nullable=False), sa.Column('weight', sa.SmallInteger(), nullable=False), sa.ForeignKeyConstraint( ['tag_id'], ['tag.id'], ), sa.PrimaryKeyConstraint('group_id', 'tag_id')) op.execute(CreateSequence(Sequence('tag_group_id_seq'))) op.execute(CreateSequence(Sequence('image_group_id_seq')))
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.add_column('category', sa.Column('is_delete', sa.Boolean(), nullable=True))
def upgrade(): try: op.add_column('policy', sa.Column('check_all_resolvers', sa.Boolean(), nullable=True)) except Exception as exx: print ("Could not add column 'check_all_resolvers'") print (exx)
def upgrade(): ### commands auto generated by Alembic - please adjust! ### op.create_table( 'bank_account', sa.Column('id', sa.Integer(), nullable=False), sa.Column('sort_code', sa.String(), nullable=False), sa.Column('acct_id', sa.String(), nullable=False), sa.Column('currency', sa.String(), nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_bank_account'))) with op.batch_alter_table('bank_account', schema=None) as batch_op: batch_op.create_index('ix_bank_account_sort_code_acct_id', ['sort_code', 'acct_id'], unique=True) op.create_table('category', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(), nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_category'))) op.create_table( 'cfp_vote_version', sa.Column('id', sa.Integer(), autoincrement=False, nullable=False), sa.Column('user_id', sa.Integer(), autoincrement=False, nullable=True), sa.Column('proposal_id', sa.Integer(), autoincrement=False, nullable=True), sa.Column('state', sa.String(), autoincrement=False, nullable=True), sa.Column('has_been_read', sa.Boolean(), autoincrement=False, nullable=True), sa.Column('created', sa.DateTime(), autoincrement=False, nullable=True), sa.Column('modified', sa.DateTime(), autoincrement=False, nullable=True), sa.Column('vote', sa.Integer(), autoincrement=False, nullable=True), sa.Column('note', sa.String(), autoincrement=False, nullable=True), sa.Column('transaction_id', sa.BigInteger(), autoincrement=False, nullable=False), sa.Column('operation_type', sa.SmallInteger(), nullable=False), sa.PrimaryKeyConstraint('id', 'transaction_id', name=op.f('pk_cfp_vote_version'))) with op.batch_alter_table('cfp_vote_version', schema=None) as batch_op: batch_op.create_index(batch_op.f('ix_cfp_vote_version_operation_type'), ['operation_type'], unique=False) batch_op.create_index(batch_op.f('ix_cfp_vote_version_transaction_id'), ['transaction_id'], unique=False) op.create_table( 'feature_flag', sa.Column('feature', sa.String(), nullable=False), sa.Column('enabled', sa.Boolean(), nullable=False), sa.PrimaryKeyConstraint('feature', name=op.f('pk_feature_flag'))) op.create_table('permission', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(), nullable=True), sa.PrimaryKeyConstraint('id', name=op.f('pk_permission'))) with op.batch_alter_table('permission', schema=None) as batch_op: batch_op.create_index(batch_op.f('ix_permission_name'), ['name'], unique=True) op.create_table( 'proposal_version', sa.Column('id', sa.Integer(), autoincrement=False, nullable=False), sa.Column('user_id', sa.Integer(), autoincrement=False, nullable=True), sa.Column('anonymiser_id', sa.Integer(), autoincrement=False, nullable=True), sa.Column('created', sa.DateTime(), autoincrement=False, nullable=True), sa.Column('modified', sa.DateTime(), autoincrement=False, nullable=True), sa.Column('state', sa.String(), autoincrement=False, nullable=True), sa.Column('type', sa.String(), autoincrement=False, nullable=True), sa.Column('title', sa.String(), autoincrement=False, nullable=True), sa.Column('description', sa.String(), autoincrement=False, nullable=True), sa.Column('requirements', sa.String(), autoincrement=False, nullable=True), sa.Column('length', sa.String(), autoincrement=False, nullable=True), sa.Column('notice_required', sa.String(), autoincrement=False, nullable=True), sa.Column('category_id', sa.Integer(), autoincrement=False, nullable=True), sa.Column('needs_help', sa.Boolean(), autoincrement=False, nullable=True), sa.Column('needs_money', sa.Boolean(), autoincrement=False, nullable=True), sa.Column('one_day', sa.Boolean(), autoincrement=False, nullable=True), sa.Column('has_rejected_email', sa.Boolean(), autoincrement=False, nullable=True), sa.Column('attendees', sa.String(), autoincrement=False, nullable=True), sa.Column('cost', sa.String(), autoincrement=False, nullable=True), sa.Column('size', sa.String(), autoincrement=False, nullable=True), sa.Column('funds', sa.String(), autoincrement=False, nullable=True), sa.Column('transaction_id', sa.BigInteger(), autoincrement=False, nullable=False), sa.Column('operation_type', sa.SmallInteger(), nullable=False), sa.PrimaryKeyConstraint('id', 'transaction_id', name=op.f('pk_proposal_version'))) with op.batch_alter_table('proposal_version', schema=None) as batch_op: batch_op.create_index(batch_op.f('ix_proposal_version_operation_type'), ['operation_type'], unique=False) batch_op.create_index(batch_op.f('ix_proposal_version_transaction_id'), ['transaction_id'], unique=False) op.create_table('ticket_type', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(), nullable=False), sa.Column('order', sa.Integer(), nullable=False), sa.Column('admits', sa.String(), nullable=False), sa.Column('type_limit', sa.Integer(), nullable=False), sa.Column('personal_limit', sa.Integer(), nullable=False), sa.Column('has_badge', sa.Boolean(), nullable=False), sa.Column('is_transferable', sa.Boolean(), nullable=False), sa.Column('expires', sa.DateTime(), nullable=True), sa.Column('description', sa.String(), nullable=True), sa.Column('discount_token', sa.String(), nullable=True), sa.PrimaryKeyConstraint('id', name=op.f('pk_ticket_type'))) op.create_table('user', sa.Column('id', sa.Integer(), nullable=False), sa.Column('email', sa.String(), nullable=True), sa.Column('name', sa.String(), nullable=False), sa.Column('phone', sa.String(), nullable=True), sa.PrimaryKeyConstraint('id', name=op.f('pk_user'))) with op.batch_alter_table('user', schema=None) as batch_op: batch_op.create_index(batch_op.f('ix_user_email'), ['email'], unique=True) batch_op.create_index(batch_op.f('ix_user_name'), ['name'], unique=False) op.create_table( 'category_reviewers', sa.Column('id', sa.Integer(), nullable=False), sa.Column('user_id', sa.Integer(), nullable=False), sa.Column('category_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ['category_id'], ['category.id'], name=op.f('fk_category_reviewers_category_id_category')), sa.ForeignKeyConstraint( ['user_id'], ['user.id'], name=op.f('fk_category_reviewers_user_id_user')), sa.PrimaryKeyConstraint('id', name=op.f('pk_category_reviewers'))) with op.batch_alter_table('category_reviewers', schema=None) as batch_op: batch_op.create_index(batch_op.f('ix_category_reviewers_user_id'), ['user_id'], unique=False) op.create_table( 'diversity', sa.Column('user_id', sa.Integer(), nullable=False), sa.Column('age', sa.String(), nullable=True), sa.Column('gender', sa.String(), nullable=True), sa.Column('ethnicity', sa.String(), nullable=True), sa.ForeignKeyConstraint(['user_id'], ['user.id'], name=op.f('fk_diversity_user_id_user')), sa.PrimaryKeyConstraint('user_id', name=op.f('pk_diversity'))) op.create_table( 'payment', sa.Column('id', sa.Integer(), nullable=False), sa.Column('user_id', sa.Integer(), nullable=False), sa.Column('provider', sa.String(), nullable=False), sa.Column('currency', sa.String(), nullable=False), sa.Column('amount_int', sa.Integer(), nullable=False), sa.Column('state', sa.String(), nullable=False), sa.Column('reminder_sent', sa.Boolean(), nullable=False), sa.Column('bankref', sa.String(), nullable=True), sa.Column('gcid', sa.String(), nullable=True), sa.Column('chargeid', sa.String(), nullable=True), sa.Column('token', sa.String(), nullable=True), sa.ForeignKeyConstraint(['user_id'], ['user.id'], name=op.f('fk_payment_user_id_user')), sa.PrimaryKeyConstraint('id', name=op.f('pk_payment')), sa.UniqueConstraint('bankref', name=op.f('uq_payment_bankref')), sa.UniqueConstraint('chargeid', name=op.f('uq_payment_chargeid')), sa.UniqueConstraint('gcid', name=op.f('uq_payment_gcid'))) op.create_table( 'proposal', sa.Column('id', sa.Integer(), nullable=False), sa.Column('user_id', sa.Integer(), nullable=False), sa.Column('anonymiser_id', sa.Integer(), nullable=True), sa.Column('created', sa.DateTime(), nullable=True), sa.Column('modified', sa.DateTime(), nullable=True), sa.Column('state', sa.String(), nullable=False), sa.Column('type', sa.String(), nullable=False), sa.Column('title', sa.String(), nullable=False), sa.Column('description', sa.String(), nullable=False), sa.Column('requirements', sa.String(), nullable=True), sa.Column('length', sa.String(), nullable=True), sa.Column('notice_required', sa.String(), nullable=True), sa.Column('category_id', sa.Integer(), nullable=True), sa.Column('needs_help', sa.Boolean(), nullable=True), sa.Column('needs_money', sa.Boolean(), nullable=True), sa.Column('one_day', sa.Boolean(), nullable=True), sa.Column('has_rejected_email', sa.Boolean(), nullable=True), sa.Column('attendees', sa.String(), nullable=True), sa.Column('cost', sa.String(), nullable=True), sa.Column('size', sa.String(), nullable=True), sa.Column('funds', sa.String(), nullable=True), sa.ForeignKeyConstraint(['anonymiser_id'], ['user.id'], name=op.f('fk_proposal_anonymiser_id_user')), sa.ForeignKeyConstraint(['category_id'], ['category.id'], name=op.f('fk_proposal_category_id_category')), sa.ForeignKeyConstraint(['user_id'], ['user.id'], name=op.f('fk_proposal_user_id_user')), sa.PrimaryKeyConstraint('id', name=op.f('pk_proposal'))) op.create_table( 'ticket_price', sa.Column('id', sa.Integer(), nullable=False), sa.Column('code', sa.Integer(), nullable=False), sa.Column('currency', sa.String(), nullable=False), sa.Column('price_int', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['code'], ['ticket_type.id'], name=op.f('fk_ticket_price_code_ticket_type')), sa.PrimaryKeyConstraint('id', name=op.f('pk_ticket_price'))) op.create_table( 'transaction', sa.Column('issued_at', sa.DateTime(), nullable=True), sa.Column('id', sa.BigInteger(), nullable=False), sa.Column('remote_addr', sa.String(length=50), nullable=True), sa.Column('user_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint(['user_id'], ['user.id'], name=op.f('fk_transaction_user_id_user')), sa.PrimaryKeyConstraint('id', name=op.f('pk_transaction'))) with op.batch_alter_table('transaction', schema=None) as batch_op: batch_op.create_index(batch_op.f('ix_transaction_user_id'), ['user_id'], unique=False) op.create_table( 'user_permission', sa.Column('id', sa.Integer(), nullable=False), sa.Column('user_id', sa.Integer(), nullable=False), sa.Column('permission_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ['permission_id'], [u'permission.id'], name=op.f('fk_user_permission_permission_id_permission')), sa.ForeignKeyConstraint(['user_id'], [u'user.id'], name=op.f('fk_user_permission_user_id_user')), sa.PrimaryKeyConstraint('id', name=op.f('pk_user_permission'))) with op.batch_alter_table('user_permission', schema=None) as batch_op: batch_op.create_index(batch_op.f('ix_user_permission_user_id'), ['user_id'], unique=False) op.create_table( 'bank_transaction', sa.Column('id', sa.Integer(), nullable=False), sa.Column('account_id', sa.Integer(), nullable=False), sa.Column('posted', sa.DateTime(), nullable=False), sa.Column('type', sa.String(), nullable=False), sa.Column('amount_int', sa.Integer(), nullable=False), sa.Column('fit_id', sa.String(), nullable=True), sa.Column('payee', sa.String(), nullable=False), sa.Column('payment_id', sa.Integer(), nullable=True), sa.Column('suppressed', sa.Boolean(), nullable=False), sa.ForeignKeyConstraint( ['account_id'], [u'bank_account.id'], name=op.f('fk_bank_transaction_account_id_bank_account')), sa.ForeignKeyConstraint( ['payment_id'], ['payment.id'], name=op.f('fk_bank_transaction_payment_id_payment')), sa.PrimaryKeyConstraint('id', name=op.f('pk_bank_transaction'))) with op.batch_alter_table('bank_transaction', schema=None) as batch_op: batch_op.create_index(batch_op.f('ix_bank_transaction_fit_id'), ['fit_id'], unique=False) batch_op.create_index( 'ix_bank_transaction_u1', ['account_id', 'posted', 'type', 'amount_int', 'payee', 'fit_id'], unique=True) op.create_table( 'cfp_message', sa.Column('id', sa.Integer(), nullable=False), sa.Column('created', sa.DateTime(), nullable=True), sa.Column('from_user_id', sa.Integer(), nullable=False), sa.Column('proposal_id', sa.Integer(), nullable=False), sa.Column('message', sa.String(), nullable=False), sa.Column('is_to_admin', sa.Boolean(), nullable=True), sa.Column('has_been_read', sa.Boolean(), nullable=True), sa.ForeignKeyConstraint(['from_user_id'], ['user.id'], name=op.f('fk_cfp_message_from_user_id_user')), sa.ForeignKeyConstraint( ['proposal_id'], ['proposal.id'], name=op.f('fk_cfp_message_proposal_id_proposal')), sa.PrimaryKeyConstraint('id', name=op.f('pk_cfp_message'))) op.create_table( 'cfp_vote', sa.Column('id', sa.Integer(), nullable=False), sa.Column('user_id', sa.Integer(), nullable=False), sa.Column('proposal_id', sa.Integer(), nullable=False), sa.Column('state', sa.String(), nullable=False), sa.Column('has_been_read', sa.Boolean(), nullable=True), sa.Column('created', sa.DateTime(), nullable=True), sa.Column('modified', sa.DateTime(), nullable=True), sa.Column('vote', sa.Integer(), nullable=True), sa.Column('note', sa.String(), nullable=True), sa.ForeignKeyConstraint(['proposal_id'], ['proposal.id'], name=op.f('fk_cfp_vote_proposal_id_proposal')), sa.ForeignKeyConstraint(['user_id'], ['user.id'], name=op.f('fk_cfp_vote_user_id_user')), sa.PrimaryKeyConstraint('id', name=op.f('pk_cfp_vote'))) op.create_table( 'payment_change', sa.Column('id', sa.Integer(), nullable=False), sa.Column('payment_id', sa.Integer(), nullable=False), sa.Column('timestamp', sa.DateTime(), nullable=False), sa.Column('state', sa.String(), nullable=False), sa.ForeignKeyConstraint( ['payment_id'], ['payment.id'], name=op.f('fk_payment_change_payment_id_payment')), sa.PrimaryKeyConstraint('id', name=op.f('pk_payment_change'))) op.create_table( 'ticket', sa.Column('id', sa.Integer(), nullable=False), sa.Column('user_id', sa.Integer(), nullable=False), sa.Column('type_id', sa.Integer(), nullable=False), sa.Column('paid', sa.Boolean(), nullable=False), sa.Column('expires', sa.DateTime(), nullable=False), sa.Column('receipt', sa.String(), nullable=True), sa.Column('qrcode', sa.String(), nullable=True), sa.Column('emailed', sa.Boolean(), nullable=False), sa.Column('payment_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint(['payment_id'], ['payment.id'], name=op.f('fk_ticket_payment_id_payment')), sa.ForeignKeyConstraint(['type_id'], ['ticket_type.id'], name=op.f('fk_ticket_type_id_ticket_type')), sa.ForeignKeyConstraint(['user_id'], ['user.id'], name=op.f('fk_ticket_user_id_user')), sa.PrimaryKeyConstraint('id', name=op.f('pk_ticket')), sa.UniqueConstraint('qrcode', name=op.f('uq_ticket_qrcode')), sa.UniqueConstraint('receipt', name=op.f('uq_ticket_receipt'))) with op.batch_alter_table('ticket', schema=None) as batch_op: batch_op.create_index(batch_op.f('ix_ticket_paid'), ['paid'], unique=False) batch_op.create_index(batch_op.f('ix_ticket_type_id'), ['type_id'], unique=False) op.create_table( 'ticket_attrib', sa.Column('id', sa.Integer(), nullable=False), sa.Column('ticket_id', sa.Integer(), nullable=False), sa.Column('name', sa.String(), nullable=False), sa.Column('value', sa.String(), nullable=True), sa.ForeignKeyConstraint( ['ticket_id'], ['ticket.id'], name=op.f('fk_ticket_attrib_ticket_id_ticket')), sa.PrimaryKeyConstraint('id', name=op.f('pk_ticket_attrib'))) op.create_table( 'ticket_checkin', sa.Column('ticket_id', sa.Integer(), nullable=False), sa.Column('checked_in', sa.Boolean(), nullable=False), sa.Column('timestamp', sa.DateTime(), nullable=False), sa.Column('badged_up', sa.Boolean(), nullable=False), sa.ForeignKeyConstraint( ['ticket_id'], [u'ticket.id'], name=op.f('fk_ticket_checkin_ticket_id_ticket')), sa.PrimaryKeyConstraint('ticket_id', name=op.f('pk_ticket_checkin'))) op.create_table( 'ticket_transfer', sa.Column('id', sa.Integer(), nullable=False), sa.Column('ticket_id', sa.Integer(), nullable=False), sa.Column('to_user_id', sa.Integer(), nullable=False), sa.Column('from_user_id', sa.Integer(), nullable=False), sa.Column('timestamp', sa.DateTime(), nullable=False), sa.ForeignKeyConstraint( ['from_user_id'], ['user.id'], name=op.f('fk_ticket_transfer_from_user_id_user')), sa.ForeignKeyConstraint( ['ticket_id'], ['ticket.id'], name=op.f('fk_ticket_transfer_ticket_id_ticket')), sa.ForeignKeyConstraint( ['to_user_id'], ['user.id'], name=op.f('fk_ticket_transfer_to_user_id_user')), sa.PrimaryKeyConstraint('id', name=op.f('pk_ticket_transfer')))
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.create_table('daily_number', sa.Column('id', sa.Integer(), nullable=False), sa.Column('user_id', sa.Integer(), sa.ForeignKey("ab_user.id"), nullable=True), sa.Column('obj_type', sa.String(length=32), nullable=False), sa.Column('count', sa.Integer(), nullable=False), sa.Column('dt', sa.Date(), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_table('dashboards', sa.Column('created_on', sa.DateTime(), nullable=True), sa.Column('changed_on', sa.DateTime(), nullable=True), sa.Column('id', sa.Integer(), nullable=False), sa.Column('dashboard_title', sa.String(length=500), nullable=True), sa.Column('position_json', sa.Text(), nullable=True), sa.Column('description', sa.Text(), nullable=True), sa.Column('department', sa.Text(), nullable=True), sa.Column('css', sa.Text(), nullable=True), sa.Column('online', sa.Boolean(), nullable=True), sa.Column('json_metadata', sa.Text(), nullable=True), sa.Column('slug', sa.String(length=255), nullable=True), sa.Column('changed_by_fk', sa.Integer(), sa.ForeignKey("ab_user.id"), nullable=True), sa.Column('created_by_fk', sa.Integer(), sa.ForeignKey("ab_user.id"), nullable=True), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('slug') ) op.create_table('dbs', sa.Column('created_on', sa.DateTime(), nullable=True), sa.Column('changed_on', sa.DateTime(), nullable=True), sa.Column('id', sa.Integer(), nullable=False), sa.Column('database_name', sa.String(length=250), nullable=True), sa.Column('sqlalchemy_uri', sa.String(length=1024), nullable=True), sa.Column('password', EncryptedType(), nullable=True), sa.Column('cache_timeout', sa.Integer(), nullable=True), sa.Column('select_as_create_table_as', sa.Boolean(), nullable=True), sa.Column('expose_in_sqllab', sa.Boolean(), nullable=True), sa.Column('allow_run_sync', sa.Boolean(), nullable=True), sa.Column('allow_run_async', sa.Boolean(), nullable=True), sa.Column('allow_ctas', sa.Boolean(), nullable=True), sa.Column('allow_dml', sa.Boolean(), nullable=True), sa.Column('force_ctas_schema', sa.String(length=250), nullable=True), sa.Column('extra', sa.Text(), nullable=True), sa.Column('perm', sa.String(length=1000), nullable=True), sa.Column('changed_by_fk', sa.Integer(), sa.ForeignKey("ab_user.id"), nullable=True), sa.Column('created_by_fk', sa.Integer(), sa.ForeignKey("ab_user.id"), nullable=True), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('database_name') ) op.create_table('favstar', sa.Column('id', sa.Integer(), nullable=False), sa.Column('user_id', sa.Integer(), sa.ForeignKey("ab_user.id"), nullable=True), sa.Column('class_name', sa.String(length=50), nullable=True), sa.Column('obj_id', sa.Integer(), nullable=True), sa.Column('dttm', sa.DateTime(), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_table('logs', sa.Column('id', sa.Integer(), nullable=False), sa.Column('action', sa.String(length=512), nullable=True), sa.Column('action_type', sa.String(length=200), nullable=True), sa.Column('obj_type', sa.String(length=50), nullable=True), sa.Column('obj_id', sa.Integer(), nullable=True), sa.Column('user_id', sa.Integer(), sa.ForeignKey("ab_user.id"), nullable=True), sa.Column('json', sa.Text(), nullable=True), sa.Column('dttm', sa.DateTime(), nullable=True), sa.Column('dt', sa.Date(), nullable=True), sa.Column('duration_ms', sa.Integer(), nullable=True), sa.Column('referrer', sa.String(length=1024), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_table('slices', sa.Column('created_on', sa.DateTime(), nullable=True), sa.Column('changed_on', sa.DateTime(), nullable=True), sa.Column('id', sa.Integer(), nullable=False), sa.Column('slice_name', sa.String(length=250), nullable=True), sa.Column('online', sa.Boolean(), nullable=True), sa.Column('datasource_id', sa.Integer(), nullable=True), sa.Column('datasource_type', sa.String(length=200), nullable=True), sa.Column('datasource_name', sa.String(length=2000), nullable=True), sa.Column('database_id', sa.Integer(), nullable=True), sa.Column('full_table_name', sa.String(length=2000), nullable=True), sa.Column('viz_type', sa.String(length=250), nullable=True), sa.Column('params', sa.Text(), nullable=True), sa.Column('description', sa.Text(), nullable=True), sa.Column('department', sa.Text(), nullable=True), sa.Column('cache_timeout', sa.Integer(), nullable=True), sa.Column('perm', sa.String(length=1000), nullable=True), sa.Column('changed_by_fk', sa.Integer(), sa.ForeignKey("ab_user.id"), nullable=True), sa.Column('created_by_fk', sa.Integer(), sa.ForeignKey("ab_user.id"), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_table('dashboard_slices', sa.Column('id', sa.Integer(), nullable=False), sa.Column('dashboard_id', sa.Integer(), nullable=True), sa.Column('slice_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint(['dashboard_id'], ['dashboards.id'], ), sa.ForeignKeyConstraint(['slice_id'], ['slices.id'], ), sa.PrimaryKeyConstraint('id') ) op.create_table('dashboard_user', sa.Column('id', sa.Integer(), nullable=False), sa.Column('user_id', sa.Integer(), sa.ForeignKey("ab_user.id"), nullable=True), sa.Column('dashboard_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint(['dashboard_id'], ['dashboards.id'], ), sa.PrimaryKeyConstraint('id') ) op.create_table('database_account', sa.Column('id', sa.Integer(), nullable=False), sa.Column('user_id', sa.Integer(), sa.ForeignKey("ab_user.id"), nullable=True), sa.Column('database_id', sa.Integer(), nullable=True), sa.Column('username', sa.String(length=255), nullable=True), sa.Column('password', EncryptedType(), nullable=True), sa.ForeignKeyConstraint(['database_id'], ['dbs.id'], ), sa.PrimaryKeyConstraint('id') ) op.create_table('query', sa.Column('id', sa.Integer(), nullable=False), sa.Column('client_id', sa.String(length=11), nullable=False), sa.Column('database_id', sa.Integer(), nullable=False), sa.Column('tmp_table_name', sa.String(length=256), nullable=True), sa.Column('user_id', sa.Integer(), sa.ForeignKey("ab_user.id"), nullable=True), sa.Column('status', sa.String(length=16), nullable=True), sa.Column('tab_name', sa.String(length=256), nullable=True), sa.Column('sql_editor_id', sa.String(length=256), nullable=True), sa.Column('schema', sa.String(length=256), nullable=True), sa.Column('sql', sa.Text(), nullable=True), sa.Column('select_sql', sa.Text(), nullable=True), sa.Column('executed_sql', sa.Text(), nullable=True), sa.Column('limit', sa.Integer(), nullable=True), sa.Column('limit_used', sa.Boolean(), nullable=True), sa.Column('limit_reached', sa.Boolean(), nullable=True), sa.Column('select_as_cta', sa.Boolean(), nullable=True), sa.Column('select_as_cta_used', sa.Boolean(), nullable=True), sa.Column('progress', sa.Integer(), nullable=True), sa.Column('rows', sa.Integer(), nullable=True), sa.Column('error_message', sa.Text(), nullable=True), sa.Column('results_key', sa.String(length=64), nullable=True), sa.Column('start_time', sa.Numeric(precision=3), nullable=True), sa.Column('end_time', sa.Numeric(precision=3), nullable=True), sa.Column('changed_on', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['database_id'], ['dbs.id'], ), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('client_id') ) op.create_index('ti_user_id_changed_on', 'query', ['user_id', 'changed_on'], unique=False) op.create_table('slice_user', sa.Column('id', sa.Integer(), nullable=False), sa.Column('user_id', sa.Integer(), sa.ForeignKey("ab_user.id"), nullable=True), sa.Column('slice_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint(['slice_id'], ['slices.id'], ), sa.PrimaryKeyConstraint('id') ) op.create_table('tables', sa.Column('created_on', sa.DateTime(), nullable=True), sa.Column('changed_on', sa.DateTime(), nullable=True), sa.Column('id', sa.Integer(), nullable=False), sa.Column('table_name', sa.String(length=250), nullable=True), sa.Column('main_dttm_col', sa.String(length=250), nullable=True), sa.Column('description', sa.Text(), nullable=True), sa.Column('default_endpoint', sa.Text(), nullable=True), sa.Column('database_id', sa.Integer(), nullable=False), sa.Column('is_featured', sa.Boolean(), nullable=True), sa.Column('filter_select_enabled', sa.Boolean(), nullable=True), sa.Column('user_id', sa.Integer(), nullable=True), sa.Column('offset', sa.Integer(), nullable=True), sa.Column('cache_timeout', sa.Integer(), nullable=True), sa.Column('schema', sa.String(length=255), nullable=True), sa.Column('sql', sa.Text(), nullable=True), sa.Column('params', sa.Text(), nullable=True), sa.Column('perm', sa.String(length=1000), nullable=True), sa.Column('changed_by_fk', sa.Integer(), sa.ForeignKey("ab_user.id"), nullable=True), sa.Column('created_by_fk', sa.Integer(), sa.ForeignKey("ab_user.id"), nullable=True), sa.ForeignKeyConstraint(['database_id'], ['dbs.id'], ), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('database_id', 'schema', 'table_name', name='_customer_location_uc') ) op.create_table('sql_metrics', sa.Column('created_on', sa.DateTime(), nullable=True), sa.Column('changed_on', sa.DateTime(), nullable=True), sa.Column('id', sa.Integer(), nullable=False), sa.Column('metric_name', sa.String(length=512), nullable=True), sa.Column('verbose_name', sa.String(length=1024), nullable=True), sa.Column('metric_type', sa.String(length=32), nullable=True), sa.Column('table_id', sa.Integer(), nullable=True), sa.Column('expression', sa.Text(), nullable=True), sa.Column('description', sa.Text(), nullable=True), sa.Column('is_restricted', sa.Boolean(), nullable=True), sa.Column('d3format', sa.String(length=128), nullable=True), sa.Column('changed_by_fk', sa.Integer(), sa.ForeignKey("ab_user.id"), nullable=True), sa.Column('created_by_fk', sa.Integer(), sa.ForeignKey("ab_user.id"), nullable=True), sa.ForeignKeyConstraint(['table_id'], ['tables.id'], ), sa.PrimaryKeyConstraint('id') ) op.create_table('table_columns', sa.Column('created_on', sa.DateTime(), nullable=True), sa.Column('changed_on', sa.DateTime(), nullable=True), sa.Column('id', sa.Integer(), nullable=False), sa.Column('table_id', sa.Integer(), nullable=True), sa.Column('column_name', sa.String(length=255), nullable=True), sa.Column('verbose_name', sa.String(length=1024), nullable=True), sa.Column('is_dttm', sa.Boolean(), nullable=True), sa.Column('is_active', sa.Boolean(), nullable=True), sa.Column('type', sa.String(length=32), nullable=True), sa.Column('groupby', sa.Boolean(), nullable=True), sa.Column('count_distinct', sa.Boolean(), nullable=True), sa.Column('sum', sa.Boolean(), nullable=True), sa.Column('avg', sa.Boolean(), nullable=True), sa.Column('max', sa.Boolean(), nullable=True), sa.Column('min', sa.Boolean(), nullable=True), sa.Column('filterable', sa.Boolean(), nullable=True), sa.Column('expression', sa.Text(), nullable=True), sa.Column('description', sa.Text(), nullable=True), sa.Column('python_date_format', sa.String(length=255), nullable=True), sa.Column('database_expression', sa.String(length=255), nullable=True), sa.Column('changed_by_fk', sa.Integer(), sa.ForeignKey("ab_user.id"), nullable=True), sa.Column('created_by_fk', sa.Integer(), sa.ForeignKey("ab_user.id"), nullable=True), sa.ForeignKeyConstraint(['table_id'], ['tables.id'], ), sa.PrimaryKeyConstraint('id') )
class Donate(Base): """Принятые через все источики пожертвования""" __tablename__ = 'donate' Currency = Currency Source = DonateSource id = sa.Column(sa.Integer(), primary_key=True) amount = sa.Column(sa.Numeric(scale=2), nullable=False) currency = sa.Column(su.ChoiceType(Currency, impl=sa.Integer()), sa.ForeignKey('exchange.id'), nullable=False, default=Currency.KZT) kzt_exchange = relation('Exchange', uselist=False, lazy='joined') date = sa.Column(sa.DateTime(), nullable=False, default=datetime.utcnow) source = sa.Column(su.ChoiceType(DonateSource, impl=sa.Text()), nullable=False, default=DonateSource.CASH) """Источник доната. По умолчанию это личные переводы""" announced = sa.Column(sa.Boolean(), nullable=False, default=False) """Было ли отправлено по этому пожертвованию уведомление""" counts = sa.Column(sa.Boolean, nullable=True, default=None) """Считается ли пожертвование за пожертвование. None если это ещё не определено""" txn_id = sa.Column(sa.BigInteger(), unique=True, nullable=True) author_id = sa.Column(sa.Integer, sa.ForeignKey('donate_author.id'), nullable=False, default=1) author = relation('DonateAuthor', uselist=False, lazy='joined') @hybrid_property def in_kzt(self): return self.amount * Decimal(self.kzt_exchange.rate) @in_kzt.expression def in_kzt(cls): return cls.amount * select( [Exchange.rate]).where(Exchange.id == cls.currency).as_scalar() @property def _ago(self): p = datetime.utcnow() - self.date if self.date else 'new' ago = '' hours = p.seconds // 3600 minutes = (p.seconds - hours * 3600) // 60 seconds = (p.seconds - hours * 3600 - minutes * 60) if p.days: ago += f'{p.days}d' if hours: ago += f'{hours}h' if minutes: ago += f'{minutes}m' if p.seconds < 60 and not p.days: ago += f'{seconds}s' return ago def __repr__(self): return f'<Donate {self.amount}{self.currency.name} #{self.txn_id} < {self.author.name or self.author.phone} ' \ f'({self.source.value}) {self.date.strftime("%d/%m/%y %H:%m")} ({self._ago}) ago ' \ f'{"(not announced)" if not self.announced else ""}>'
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.add_column('users', sa.Column('confirmed', sa.Boolean(), nullable=True))
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.add_column("custom_action", sa.Column("is_ajax", sa.Boolean(), nullable=True))