def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('TrangThaiUser',
    sa.Column('id', sa.SMALLINT(), nullable=False),
    sa.Column('ten', sa.NVARCHAR(length=25), nullable=True),
    sa.PrimaryKeyConstraint('id'),
    schema='NhanSu'
    )
    op.create_table('User',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('ho_dem', sa.NVARCHAR(length=30), nullable=True),
    sa.Column('ten', sa.NVARCHAR(length=15), nullable=True),
    sa.Column('ngay_sinh', sa.Date(), nullable=True),
    sa.Column('nam_gioi', sa.NCHAR(length=1), nullable=True),
    sa.Column('nhom_mau', sa.NCHAR(length=10), nullable=True),
    sa.Column('dan_toc', sa.NVARCHAR(length=20), nullable=True),
    sa.Column('que', sa.NVARCHAR(length=100), nullable=True),
    sa.Column('dktt', sa.NVARCHAR(length=100), nullable=True),
    sa.Column('noi_o', sa.NVARCHAR(length=100), nullable=True),
    sa.Column('so_hieu', sa.NCHAR(length=6), nullable=True),
    sa.Column('ngay_vao_cong_an', sa.Date(), nullable=True),
    sa.Column('nganh_ngoai', sa.Boolean(), nullable=True),
    sa.Column('trinh_do_chinh_tri', sa.NVARCHAR(length=30), nullable=True),
    sa.Column('trinh_do_ngoai_ngu', sa.NVARCHAR(length=30), nullable=True),
    sa.Column('trinh_do_tin_hoc', sa.NVARCHAR(length=30), nullable=True),
    sa.Column('trang_thai_user_id', sa.SMALLINT(), nullable=True),
    sa.Column('username', sa.NCHAR(length=20), nullable=True),
    sa.Column('email', sa.NCHAR(length=120), nullable=True),
    sa.Column('password_hash', sa.NCHAR(length=128), nullable=True),
    sa.Column('is_admin', sa.Boolean(), nullable=False),
    sa.ForeignKeyConstraint(['trang_thai_user_id'], ['NhanSu.TrangThaiUser.id'], ),
    sa.PrimaryKeyConstraint('id'),
    schema='NhanSu'
    )
    op.create_index(op.f('ix_NhanSu_User_email'), 'User', ['email'], unique=True, schema='NhanSu')
    op.create_index(op.f('ix_NhanSu_User_ten'), 'User', ['ten'], unique=False, schema='NhanSu')
    op.create_index(op.f('ix_NhanSu_User_username'), 'User', ['username'], unique=True, schema='NhanSu')
    op.create_table('SoDienThoai',
    sa.Column('id', sa.SMALLINT(), nullable=False),
    sa.Column('user_id', sa.Integer(), nullable=True),
    sa.Column('so_dien_thoai', sa.NCHAR(length=10), nullable=True),
    sa.ForeignKeyConstraint(['user_id'], ['NhanSu.User.id'], ),
    sa.PrimaryKeyConstraint('id'),
    schema='NhanSu'
    )
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table(
        'types', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('title', sa.NVARCHAR(length=100), nullable=False),
        sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'products', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('typeId', sa.Integer(), nullable=False),
        sa.Column('name', sa.NVARCHAR(length=100), nullable=False),
        sa.Column('description', sa.NVARCHAR(length=500), nullable=True),
        sa.Column('photo', sa.NVARCHAR(length=100), nullable=True),
        sa.ForeignKeyConstraint(
            ['typeId'],
            ['types.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_foreign_key(None, 'options', 'products', ['productId'], ['id'])
    op.create_foreign_key(None, 'orders', 'products', ['productId'], ['id'])
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('test', sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('ten', sa.NVARCHAR(length=25), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['id'],
                        ['NhanSu.User.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.drop_table('sysdiagrams')
def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.add_column(
        'User',
        sa.Column('dantoc',
                  sa.NVARCHAR(length=20),
                  autoincrement=False,
                  nullable=True))
    op.drop_column('User', 'dan_toc')
    def test_mssql_nvarchar_length_downsize(self, writer):
        with writer:
            if 'odbc' not in writer.connection.engine.driver:
                return

            # Initialize a table with NVARCHAR(max), and make sure smaller data
            # doesn't reduce the size of the column
            metadata = sqlalchemy.MetaData()
            create_sql = sqlalchemy.schema.CreateTable(
                sqlalchemy.Table(
                    'mssql_nvarchar_length_downsize',
                    metadata,
                    sqlalchemy.Column('id',
                                      sqlalchemy.NVARCHAR(length=100),
                                      primary_key=True),
                    sqlalchemy.Column('some_data',
                                      sqlalchemy.NVARCHAR(length=None)),
                )).compile(writer.connection.engine)
            metadata.create_all(writer.connection.engine)

            writer.write_table(
                TableSpec(
                    **{
                        'name':
                        'mssql_nvarchar_length',
                        'headings': ['id', 'some_data'],
                        'rows': [
                            [
                                'bizzle', (b'\0' *
                                           800).decode('utf-8'), (
                                               b'\0' * 800).decode('utf-8')
                            ],
                            [
                                'bazzle', (b'\0' *
                                           500).decode('utf-8'), (
                                               b'\0' * 800).decode('utf-8')
                            ],
                        ]
                    }))
            result = self._get_column_lengths(
                writer.connection, 'mssql_nvarchar_length_downsize')
            assert result['some_data'] == ('some_data', 'nvarchar', -1)
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('CoSoDaoTao',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('ten', sa.NVARCHAR(length=100), nullable=True),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('TrinhDoNghiepVu',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('ten', sa.NVARCHAR(length=20), nullable=True),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('TrinhDoNghiepVuCanBo',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('can_bo_id', sa.INTEGER(), nullable=True),
                    sa.Column('trinh_do_nghiep_vu_id',
                              sa.SMALLINT(),
                              nullable=True),
                    sa.Column('co_so_dao_tao_id', sa.SMALLINT(),
                              nullable=True),
                    sa.Column('chuyen_nganh',
                              sa.NVARCHAR(length=50),
                              nullable=True),
                    sa.Column('ngay_bat_dau', sa.DATE(), nullable=True),
                    sa.Column('ngay_ket_thuc', sa.DATE(), nullable=True),
                    sa.Column('ket_qua', sa.NVARCHAR(length=50),
                              nullable=True),
                    sa.Column('ghi_chu', sa.NVARCHAR(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['can_bo_id'],
                        ['NhanSu.CanBo.id'],
                    ),
                    sa.ForeignKeyConstraint(
                        ['co_so_dao_tao_id'],
                        ['NhanSu.CoSoDaoTao.id'],
                    ),
                    sa.ForeignKeyConstraint(
                        ['trinh_do_nghiep_vu_id'],
                        ['NhanSu.TrinhDoNghiepVu.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
Exemple #7
0
class Album(Base):
    __tablename__ = 'albums'

    album_id = sa.Column('AlbumId', sa.Integer, primary_key=True)
    title = sa.Column('Title', sa.NVARCHAR(160), nullable=False)
    artist_id = sa.Column('ArtistId',
                          sa.ForeignKey('artists.ArtistId'),
                          nullable=False,
                          index=True)

    artist = sa.orm.relationship('Artist')
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('KiLuat',
                    sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('can_bo_id', sa.INTEGER(), nullable=True),
                    sa.Column('hinh_thuc', sa.NVARCHAR(), nullable=True),
                    sa.Column('so_quyet_dinh',
                              sa.NVARCHAR(length=50),
                              nullable=True),
                    sa.Column('ngay_quyet_dinh', sa.DATE(), nullable=True),
                    sa.Column('noi_dung',
                              sa.NVARCHAR(length=250),
                              nullable=True),
                    sa.Column('ghi_chu', sa.NVARCHAR(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['can_bo_id'],
                        ['NhanSu.CanBo.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('sysdiagrams',
    sa.Column('name', sa.NVARCHAR(length=128), autoincrement=False, nullable=False),
    sa.Column('principal_id', sa.INTEGER(), autoincrement=False, nullable=False),
    sa.Column('diagram_id', sa.INTEGER(), autoincrement=True, nullable=False, mssql_identity_start=1, mssql_identity_increment=1),
    sa.Column('version', sa.INTEGER(), autoincrement=False, nullable=True),
    sa.Column('definition', mssql.VARBINARY(), autoincrement=False, nullable=True),
    sa.PrimaryKeyConstraint('diagram_id', name='PK__sysdiagr__C2B05B61856219B5')
    )
    op.drop_table('HeSoLuongUser', schema='NhanSu')
Exemple #10
0
class GeographicNE(Base):
    '''
    classdocs
    '''
    __tablename__ = 'GeographicNE'
    index = sqla.Column(sqla.Integer)
    continent = sqla.Column(sqla.NVARCHAR(50))
    gdp_md_est = sqla.Column(sqla.Float)
    iso_a3 = sqla.Column(sqla.NVARCHAR(50), primary_key=True)
    name = sqla.Column(sqla.NVARCHAR(50))
    pop_est = sqla.Column(sqla.Float)
    geometry = sqla.Column(Geometry("POLYGON"))

    def __init__(self, params):
        '''
        Constructor
        '''

    def __repr__(self):
        #"(id='%s', Date='%s', Type='%s', Value='%s')" % (self.id, self.Date, self.Type, self.Value)
        return ""
Exemple #11
0
class Track(Base):
    __tablename__ = 'tracks'

    track_id = sa.Column('TrackId', sa.Integer, primary_key=True)
    name = sa.Column('Name', sa.NVARCHAR(200), nullable=False)
    album_id = sa.Column('AlbumId', sa.ForeignKey('albums.AlbumId'), index=True)
    media_type_id = sa.Column(
        'MediaTypeId',
        sa.ForeignKey('media_types.MediaTypeId'),
        nullable=False,
        index=True
    )
    genre_id = sa.Column('GenreId', sa.ForeignKey('genres.GenreId'), index=True)
    composer = sa.Column('Composer', sa.NVARCHAR(220))
    milliseconds = sa.Column('Milliseconds', sa.Integer, nullable=False)
    bytes_size = sa.Column('Bytes', sa.Integer)
    unit_price = sa.Column('UnitPrice', sa.Numeric(10, 2), nullable=False)

    album = sa.orm.relationship('Album')
    genre = sa.orm.relationship('Genre')
    media_type = sa.orm.relationship('MediaType')
Exemple #12
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('ViTri',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('user_id', sa.Integer(), nullable=True),
    sa.Column('bo_phan_id', sa.Integer(), nullable=True),
    sa.Column('cong_viec', sa.NVARCHAR(length=100), nullable=True),
    sa.Column('ngay_bat_dau', sa.DATE(), nullable=True),
    sa.Column('ngay_ket_thuc', sa.DATE(), nullable=True),
    sa.ForeignKeyConstraint(['bo_phan_id'], ['BoPhan.id'], ),
    sa.ForeignKeyConstraint(['user_id'], ['User.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.add_column('ChucDanhCongTac', sa.Column('user_id', sa.INTEGER(), autoincrement=False, nullable=True))
    op.add_column('ChucDanhCongTac', sa.Column('Chuc_Danh_Cong_Tac_id', sa.SMALLINT(), autoincrement=False, nullable=True))
    op.add_column('ChucDanhCongTac', sa.Column('ngay_bat_dau', sa.DATE(), autoincrement=False, nullable=True))
    op.create_foreign_key('FK__ChucDanhC__user___0B91BA14', 'ChucDanhCongTac', 'User', ['user_id'], ['id'])
    op.create_foreign_key('FK__ChucDanhC__Chuc___0C85DE4D', 'ChucDanhCongTac', 'Dm_ChucDanhCongTac', ['Chuc_Danh_Cong_Tac_id'], ['id'])
    op.drop_column('ChucDanhCongTac', 'ten')
    op.create_table('Dm_ChucDanhCongTac',
    sa.Column('id', sa.SMALLINT(), autoincrement=True, nullable=False, mssql_identity_start=1, mssql_identity_increment=1),
    sa.Column('ten', sa.NVARCHAR(length=100), autoincrement=False, nullable=True),
    sa.PrimaryKeyConstraint('id', name='PK__Dm_ChucD__3213E83F9C8A3A7C')
    )
    op.drop_table('ChucDanhCongTacUser')
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('ChucDanhCongTacUser',
    sa.Column('id', sa.SMALLINT(), nullable=False),
    sa.Column('user_id', sa.Integer(), nullable=True),
    sa.Column('Chuc_Danh_Cong_Tac_id', sa.SMALLINT(), nullable=True),
    sa.Column('ngay_bat_dau', sa.DATE(), nullable=True),
    sa.ForeignKeyConstraint(['Chuc_Danh_Cong_Tac_id'], ['ChucDanhCongTac.id'], ),
    sa.ForeignKeyConstraint(['user_id'], ['User.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.drop_table('Dm_ChucDanhCongTac')
    op.add_column('ChucDanhCongTac', sa.Column('ten', sa.NVARCHAR(length=100), nullable=True))
    op.drop_constraint('FK__ChucDanhC__Chuc___0C85DE4D', 'ChucDanhCongTac', type_='foreignkey')
    op.drop_constraint('FK__ChucDanhC__user___0B91BA14', 'ChucDanhCongTac', type_='foreignkey')
    op.drop_column('ChucDanhCongTac', 'ngay_bat_dau')
    op.drop_column('ChucDanhCongTac', 'Chuc_Danh_Cong_Tac_id')
    op.drop_column('ChucDanhCongTac', 'user_id')
Exemple #15
0
    def best_type_for(self, val):
        if isinstance(val, bool):
            return sqlalchemy.Boolean()
        elif isinstance(val, datetime.datetime):
            return sqlalchemy.DateTime()
        elif isinstance(val, datetime.date):
            return sqlalchemy.Date()

        if isinstance(val, int):
            return sqlalchemy.Integer()
        elif isinstance(val, six.string_types):
            if self.is_postgres:
                # PostgreSQL is the best; you can use TEXT everywhere and it works like a charm.
                return sqlalchemy.UnicodeText(collation=self.collation)
            elif self.is_mysql:
                # MySQL cannot build an index on TEXT due to the lack of a field length, so we
                # try to use VARCHAR when possible.
                if len(
                        val
                ) < self.MAX_VARCHAR_LEN:  # FIXME: Is 255 an interesting cutoff?
                    return sqlalchemy.Unicode(max(len(val),
                                                  self.MIN_VARCHAR_LEN),
                                              collation=self.collation)
                else:
                    return sqlalchemy.UnicodeText(collation=self.collation)
            elif self.is_mssql:
                # MSSQL (pre 2016) doesn't allow indices on columns longer than 900 bytes
                # - https://docs.microsoft.com/en-us/sql/t-sql/statements/create-index-transact-sql
                # If any of our data is bigger than this, then set the column to NVARCHAR(max)
                # `length` here is the size in bytes - https://docs.sqlalchemy.org/en/13/core/type_basics.html#sqlalchemy.types.String.params.length
                length_in_bytes = len(val.encode('utf-8'))
                column_length_in_bytes = None if length_in_bytes > 900 else 900
                return sqlalchemy.NVARCHAR(length=column_length_in_bytes,
                                           collation=self.collation)
            if self.is_oracle:
                return sqlalchemy.Unicode(4000, collation=self.collation)
            else:
                raise Exception("Unknown database dialect: {}".format(
                    self.db_url))
        else:
            # We do not have a name for "bottom" in SQL aka the type whose least upper bound
            # with any other type is the other type.
            return sqlalchemy.UnicodeText(collation=self.collation)
def downgrade():
    ### commands auto generated by Alembic - please adjust! ###
    op.create_table(
        'Student',
        sa.Column('sname',
                  sa.NCHAR(length=10),
                  autoincrement=False,
                  nullable=False),
        sa.Column('sex',
                  sa.NCHAR(length=2),
                  autoincrement=False,
                  nullable=False),
        sa.Column('bir', sa.DATETIME(), autoincrement=False, nullable=True),
        sa.PrimaryKeyConstraint('sname',
                                name=u'PK__Student__0F1ED58278C86C61'))
    op.create_table(
        'sysdiagrams',
        sa.Column('name',
                  sa.NVARCHAR(length=128),
                  autoincrement=False,
                  nullable=False),
        sa.Column('principal_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=False),
        sa.Column('diagram_id', sa.INTEGER(), nullable=False),
        sa.Column('version', sa.INTEGER(), autoincrement=False, nullable=True),
        sa.Column('definition',
                  mssql.VARBINARY(length='max'),
                  autoincrement=False,
                  nullable=True),
        sa.PrimaryKeyConstraint('diagram_id',
                                name=u'PK__sysdiagr__C2B05B618078E22A'))
    op.create_table(
        'Table1',
        sa.Column('id', sa.INTEGER(), autoincrement=False, nullable=True),
        sa.Column('name',
                  sa.NCHAR(length=10),
                  autoincrement=False,
                  nullable=True))
    op.drop_index(op.f('ix_users_username'), table_name='users')
    op.drop_table('users')
    op.drop_table('roles')
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('TrangThaiCongTac',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('ten', sa.NVARCHAR(length=25), nullable=True),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.drop_table('TrangThaiUser', schema='NhanSu')
    op.add_column('User',
                  sa.Column('trang_thai_cong_tac_id',
                            sa.SMALLINT(),
                            nullable=True),
                  schema='NhanSu')
    op.create_foreign_key(None,
                          'User',
                          'TrangThaiCongTac', ['trang_thai_cong_tac_id'],
                          ['id'],
                          source_schema='NhanSu',
                          referent_schema='NhanSu')
    op.drop_column('User', 'trang_thai_user_id', schema='NhanSu')
Exemple #18
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('CapBac',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('ten', sa.NVARCHAR(length=100), nullable=True),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('CapBacUser',
                    sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('user_id', sa.Integer(), nullable=True),
                    sa.Column('cap_bac_id', sa.SMALLINT(), nullable=True),
                    sa.Column('ngay_bat_dau', sa.DATE(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['cap_bac_id'],
                        ['NhanSu.CapBac.id'],
                    ),
                    sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['NhanSu.User.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.drop_table('sysdiagrams')
Exemple #19
0
    def best_type_for(self, val):
        if isinstance(val, bool):
            return sqlalchemy.Boolean()
        elif isinstance(val, datetime.datetime):
            return sqlalchemy.DateTime()
        elif isinstance(val, datetime.date):
            return sqlalchemy.Date()

        if isinstance(val, int):
            return sqlalchemy.Integer()
        elif isinstance(val, six.string_types):
            if self.is_postgres:
                # PostgreSQL is the best; you can use TEXT everywhere and it works like a charm.
                return sqlalchemy.UnicodeText(collation=self.collation)
            elif self.is_mysql:
                # MySQL cannot build an index on TEXT due to the lack of a field length, so we
                # try to use VARCHAR when possible.
                if len(
                        val
                ) < self.MAX_VARCHAR_LEN:  # FIXME: Is 255 an interesting cutoff?
                    return sqlalchemy.Unicode(max(len(val),
                                                  self.MIN_VARCHAR_LEN),
                                              collation=self.collation)
                else:
                    return sqlalchemy.UnicodeText(collation=self.collation)
            elif self.is_mssql:
                return sqlalchemy.NVARCHAR(collation=self.collation)
            if self.is_oracle:
                return sqlalchemy.Unicode(4000, collation=self.collation)
            else:
                raise Exception("Unknown database dialect: {}".format(
                    self.db_url))
        else:
            # We do not have a name for "bottom" in SQL aka the type whose least upper bound
            # with any other type is the other type.
            return sqlalchemy.UnicodeText(collation=self.collation)
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('User',
                    sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('ho_dem', sa.NVARCHAR(length=30), nullable=True),
                    sa.Column('ten', sa.NVARCHAR(length=15), nullable=True),
                    sa.Column('ngay_sinh', sa.Date(), nullable=True),
                    sa.Column('nam_gioi', sa.NCHAR(length=1), nullable=True),
                    sa.Column('nhom_mau', sa.String(length=10), nullable=True),
                    sa.Column('dan_toc', sa.NVARCHAR(length=20),
                              nullable=True),
                    sa.Column('que', sa.NVARCHAR(length=100), nullable=True),
                    sa.Column('dktt', sa.NVARCHAR(length=100), nullable=True),
                    sa.Column('noi_o', sa.NVARCHAR(length=100), nullable=True),
                    sa.Column('so_hieu', sa.String(length=6), nullable=True),
                    sa.Column('ngay_vao_cong_an', sa.Date(), nullable=True),
                    sa.Column('nganh_ngoai', sa.Boolean(), nullable=True),
                    sa.Column('trinh_do_chinh_tri',
                              sa.NVARCHAR(length=30),
                              nullable=True),
                    sa.Column('trinh_do_ngoai_ngu',
                              sa.NVARCHAR(length=30),
                              nullable=True),
                    sa.Column('trinh_do_tin_hoc',
                              sa.NVARCHAR(length=30),
                              nullable=True),
                    sa.Column('trang_thai_user_id',
                              sa.SMALLINT(),
                              nullable=True),
                    sa.Column('username', sa.String(length=20), nullable=True),
                    sa.Column('email', sa.String(length=120), nullable=True),
                    sa.Column('password_hash',
                              sa.String(length=128),
                              nullable=True),
                    sa.Column('is_admin', sa.Boolean(), nullable=False),
                    sa.ForeignKeyConstraint(
                        ['trang_thai_user_id'],
                        ['TrangThaiUser.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='nhansu')
    op.create_index(op.f('ix_nhansu_User_email'),
                    'User', ['email'],
                    unique=True,
                    schema='nhansu')
    op.create_index(op.f('ix_nhansu_User_ten'),
                    'User', ['ten'],
                    unique=False,
                    schema='nhansu')
    op.create_index(op.f('ix_nhansu_User_username'),
                    'User', ['username'],
                    unique=True,
                    schema='nhansu')
    op.drop_index('ix_User_ten', table_name='User')
    op.drop_table('User')
    op.drop_constraint('FK__ChucDanhC__user___245D67DE',
                       'ChucDanhCongTacUser',
                       type_='foreignkey')
    op.create_foreign_key(None,
                          'ChucDanhCongTacUser',
                          'User', ['user_id'], ['id'],
                          referent_schema='nhansu')
    op.drop_constraint('FK__ChucDanhN__user___2A164134',
                       'ChucDanhNghiepVuUser',
                       type_='foreignkey')
    op.create_foreign_key(None,
                          'ChucDanhNghiepVuUser',
                          'User', ['user_id'], ['id'],
                          referent_schema='nhansu')
    op.drop_constraint('FK__SoDienTho__user___66603565',
                       'SoDienThoai',
                       type_='foreignkey')
    op.create_foreign_key(None,
                          'SoDienThoai',
                          'User', ['user_id'], ['id'],
                          referent_schema='nhansu')
    op.drop_constraint('FK__ViTri__user_id__6A30C649',
                       'ViTri',
                       type_='foreignkey')
    op.create_foreign_key(None,
                          'ViTri',
                          'User', ['user_id'], ['id'],
                          referent_schema='nhansu')
Exemple #21
0
def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table(
        'tblSQDetails',
        sa.Column('DocEntry',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=False),
        sa.Column('DocNum', sa.INTEGER(), autoincrement=False, nullable=True),
        sa.Column('DocDate', sa.DATE(), autoincrement=False, nullable=True),
        sa.Column('Cancelled',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('DocStatus',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('CardCode',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('CardName',
                  sa.NVARCHAR(length=250),
                  autoincrement=False,
                  nullable=True),
        sa.Column('RowNum', sa.INTEGER(), autoincrement=False, nullable=True),
        sa.Column('ItemCode',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('ItemName',
                  sa.NVARCHAR(length=150),
                  autoincrement=False,
                  nullable=True),
        sa.Column('Quantity',
                  sa.DECIMAL(precision=18, scale=4),
                  autoincrement=False,
                  nullable=True),
        sa.Column('Warehouse',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('Sales_Employee',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('Sales_Contact',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('Customer_Recipient',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('Customer_Number',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('isCEF_Approved',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('isTruck_Approved',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('isStock_Approved',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('isPrice_Approved',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('SMSNotification',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('Remarks',
                  sa.NVARCHAR(length=250),
                  autoincrement=False,
                  nullable=True),
        sa.Column('Delivery_Date',
                  sa.NVARCHAR(length=250),
                  autoincrement=False,
                  nullable=True),
        sa.Column('ManuallyClosed',
                  sa.NVARCHAR(length=10),
                  autoincrement=False,
                  nullable=True),
        sa.Column('OpenQty',
                  sa.DECIMAL(precision=18, scale=4),
                  autoincrement=False,
                  nullable=True))
    op.create_table(
        'tblSODetails',
        sa.Column('DocEntry',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=False),
        sa.Column('DocNum', sa.INTEGER(), autoincrement=False, nullable=True),
        sa.Column('DocDate', sa.DATE(), autoincrement=False, nullable=True),
        sa.Column('Cancelled',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('DocStatus',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('CardCode',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('CardName',
                  sa.NVARCHAR(length=250),
                  autoincrement=False,
                  nullable=True),
        sa.Column('RowNum', sa.INTEGER(), autoincrement=False, nullable=True),
        sa.Column('ItemCode',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('ItemName',
                  sa.NVARCHAR(length=150),
                  autoincrement=False,
                  nullable=True),
        sa.Column('Quantity',
                  sa.DECIMAL(precision=18, scale=4),
                  autoincrement=False,
                  nullable=True),
        sa.Column('Warehouse',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('Sales_Employee',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('Sales_Contact',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('Customer_Recipient',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('Customer_Number',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('isCEF_Approved',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('isTruck_Approved',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('isStock_Approved',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('isPrice_Approved',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('SMSNotification',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('Remarks',
                  sa.NVARCHAR(length=250),
                  autoincrement=False,
                  nullable=True),
        sa.Column('Delivery_Date',
                  sa.NVARCHAR(length=250),
                  autoincrement=False,
                  nullable=True),
        sa.Column('ManuallyClosed',
                  sa.NVARCHAR(length=10),
                  autoincrement=False,
                  nullable=True),
        sa.Column('BaseQty',
                  sa.DECIMAL(precision=18, scale=4),
                  autoincrement=False,
                  nullable=True),
        sa.Column('BaseDocNum',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=True),
        sa.Column('BaseObjtype',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=True),
        sa.Column('BaseDocEntry',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=True))
    op.create_table(
        'tblSQ',
        sa.Column('DocNum', sa.INTEGER(), autoincrement=False, nullable=True),
        sa.Column('DocDate', sa.DATE(), autoincrement=False, nullable=True),
        sa.Column('CardCode',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('CardName',
                  sa.NVARCHAR(),
                  autoincrement=False,
                  nullable=True),
        sa.Column('ItemCode',
                  sa.NVARCHAR(),
                  autoincrement=False,
                  nullable=True),
        sa.Column('ItemName',
                  sa.NVARCHAR(length=150),
                  autoincrement=False,
                  nullable=True),
        sa.Column('Quantity',
                  sa.DECIMAL(precision=18, scale=4),
                  autoincrement=False,
                  nullable=True),
        sa.Column('warehouse',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('isApproved',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('Sales_Employee',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('isSent',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('cust_number',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('recipient',
                  sa.NVARCHAR(length=100),
                  autoincrement=False,
                  nullable=True),
        sa.Column('isApprovedStock',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True),
        sa.Column('isApprovedTruck',
                  sa.NVARCHAR(length=50),
                  autoincrement=False,
                  nullable=True))
Exemple #22
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('BoPhan',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('ten', sa.NVARCHAR(length=50), nullable=False),
                    sa.Column('ma', sa.String(length=3), nullable=True),
                    sa.Column('khoi', sa.String(length=20), nullable=True),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('ChucDanhCongTac',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('ten', sa.NVARCHAR(length=100), nullable=True),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('ChucDanhNghiepVu',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('ten', sa.NVARCHAR(length=100), nullable=True),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('ChucDanhTuPhap',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('ten', sa.NVARCHAR(length=100), nullable=True),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('User',
                    sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('ho_dem', sa.NVARCHAR(length=30), nullable=True),
                    sa.Column('ten', sa.NVARCHAR(length=15), nullable=True),
                    sa.Column('ngay_sinh', sa.Date(), nullable=True),
                    sa.Column('nam_gioi', sa.NCHAR(length=1), nullable=True),
                    sa.Column('nhom_mau', sa.String(length=10), nullable=True),
                    sa.Column('dan_toc', sa.NVARCHAR(length=20),
                              nullable=True),
                    sa.Column('que', sa.NVARCHAR(length=100), nullable=True),
                    sa.Column('dktt', sa.NVARCHAR(length=100), nullable=True),
                    sa.Column('noi_o', sa.NVARCHAR(length=100), nullable=True),
                    sa.Column('so_hieu', sa.String(length=6), nullable=True),
                    sa.Column('ngay_vao_cong_an', sa.Date(), nullable=True),
                    sa.Column('nganh_ngoai', sa.Boolean(), nullable=True),
                    sa.Column('trinh_do_chinh_tri',
                              sa.NVARCHAR(length=30),
                              nullable=True),
                    sa.Column('trinh_do_ngoai_ngu',
                              sa.NVARCHAR(length=30),
                              nullable=True),
                    sa.Column('trinh_do_tin_hoc',
                              sa.NVARCHAR(length=30),
                              nullable=True),
                    sa.Column('trang_thai_user_id',
                              sa.SMALLINT(),
                              nullable=True),
                    sa.Column('username', sa.String(length=20), nullable=True),
                    sa.Column('email', sa.String(length=120), nullable=True),
                    sa.Column('password_hash',
                              sa.String(length=128),
                              nullable=True),
                    sa.Column('is_admin', sa.Boolean(), nullable=False),
                    sa.ForeignKeyConstraint(
                        ['trang_thai_user_id'],
                        ['TrangThaiUser.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_index(op.f('ix_NhanSu_User_email'),
                    'User', ['email'],
                    unique=True,
                    schema='NhanSu')
    op.create_index(op.f('ix_NhanSu_User_ten'),
                    'User', ['ten'],
                    unique=False,
                    schema='NhanSu')
    op.create_index(op.f('ix_NhanSu_User_username'),
                    'User', ['username'],
                    unique=True,
                    schema='NhanSu')
    op.create_table('ChucDanhCongTacUser',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('user_id', sa.Integer(), nullable=True),
                    sa.Column('chuc_danh_cong_tac_id',
                              sa.SMALLINT(),
                              nullable=True),
                    sa.Column('ngay_bat_dau', sa.DATE(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['chuc_danh_cong_tac_id'],
                        ['NhanSu.ChucDanhCongTac.id'],
                    ),
                    sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['NhanSu.User.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('ChucDanhNghiepVuUser',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('user_id', sa.Integer(), nullable=True),
                    sa.Column('chuc_danh_nghiep_vu_id',
                              sa.SMALLINT(),
                              nullable=True),
                    sa.Column('ngay_bat_dau', sa.DATE(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['chuc_danh_nghiep_vu_id'],
                        ['NhanSu.ChucDanhNghiepVu.id'],
                    ),
                    sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['NhanSu.User.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('ChucDanhTuPhapUser',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('user_id', sa.Integer(), nullable=True),
                    sa.Column('chuc_danh_tu_phap_id',
                              sa.SMALLINT(),
                              nullable=True),
                    sa.Column('ngay_bat_dau', sa.DATE(), nullable=True),
                    sa.Column('ngay_ket_thuc', sa.DATE(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['chuc_danh_tu_phap_id'],
                        ['NhanSu.ChucDanhTuPhap.id'],
                    ),
                    sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['NhanSu.User.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('SoDienThoai',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('user_id', sa.Integer(), nullable=True),
                    sa.Column('so_dien_thoai',
                              sa.NCHAR(length=10),
                              nullable=True),
                    sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['NhanSu.User.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('ViTri',
                    sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('user_id', sa.Integer(), nullable=False),
                    sa.Column('bo_phan_id', sa.SMALLINT(), nullable=False),
                    sa.Column('cong_viec',
                              sa.NVARCHAR(length=255),
                              nullable=True),
                    sa.Column('ngay_bat_dau', sa.DATE(), nullable=True),
                    sa.Column('ngay_ket_thuc', sa.DATE(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['bo_phan_id'],
                        ['NhanSu.BoPhan.id'],
                    ),
                    sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['NhanSu.User.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.drop_constraint(None, 'ViTri', type_='foreignkey')
    op.create_foreign_key('FK__ViTri__user_id__6A30C649', 'ViTri', 'User',
                          ['user_id'], ['id'])
    op.drop_constraint(None, 'SoDienThoai', type_='foreignkey')
    op.create_foreign_key('FK__SoDienTho__user___66603565', 'SoDienThoai',
                          'User', ['user_id'], ['id'])
    op.drop_constraint(None, 'ChucDanhNghiepVuUser', type_='foreignkey')
    op.create_foreign_key('FK__ChucDanhN__user___2A164134',
                          'ChucDanhNghiepVuUser', 'User', ['user_id'], ['id'])
    op.drop_constraint(None, 'ChucDanhCongTacUser', type_='foreignkey')
    op.create_foreign_key('FK__ChucDanhC__user___245D67DE',
                          'ChucDanhCongTacUser', 'User', ['user_id'], ['id'])
    op.create_table(
        'User',
        sa.Column('id',
                  sa.INTEGER(),
                  autoincrement=True,
                  nullable=False,
                  mssql_identity_start=1,
                  mssql_identity_increment=1),
        sa.Column('ho_dem',
                  sa.NVARCHAR(length=30),
                  autoincrement=False,
                  nullable=True),
        sa.Column('ten',
                  sa.NVARCHAR(length=15),
                  autoincrement=False,
                  nullable=True),
        sa.Column('ngay_sinh', sa.DATE(), autoincrement=False, nullable=True),
        sa.Column('nam_gioi',
                  sa.NCHAR(length=1),
                  autoincrement=False,
                  nullable=True),
        sa.Column('nhom_mau',
                  sa.VARCHAR(length=10,
                             collation='SQL_Latin1_General_CP1_CI_AS'),
                  autoincrement=False,
                  nullable=True),
        sa.Column('dan_toc',
                  sa.NVARCHAR(length=20),
                  autoincrement=False,
                  nullable=True),
        sa.Column('que',
                  sa.NVARCHAR(length=100),
                  autoincrement=False,
                  nullable=True),
        sa.Column('dktt',
                  sa.NVARCHAR(length=100),
                  autoincrement=False,
                  nullable=True),
        sa.Column('noi_o',
                  sa.NVARCHAR(length=100),
                  autoincrement=False,
                  nullable=True),
        sa.Column('so_hieu',
                  sa.VARCHAR(length=6,
                             collation='SQL_Latin1_General_CP1_CI_AS'),
                  autoincrement=False,
                  nullable=True),
        sa.Column('ngay_vao_cong_an',
                  sa.DATE(),
                  autoincrement=False,
                  nullable=True),
        sa.Column('nganh_ngoai',
                  mssql.BIT(),
                  autoincrement=False,
                  nullable=True),
        sa.Column('trinh_do_chinh_tri',
                  sa.NVARCHAR(length=30),
                  autoincrement=False,
                  nullable=True),
        sa.Column('trinh_do_ngoai_ngu',
                  sa.NVARCHAR(length=30),
                  autoincrement=False,
                  nullable=True),
        sa.Column('trinh_do_tin_hoc',
                  sa.NVARCHAR(length=30),
                  autoincrement=False,
                  nullable=True),
        sa.Column('trang_thai_user_id',
                  sa.SMALLINT(),
                  autoincrement=False,
                  nullable=True),
        sa.Column('username',
                  sa.VARCHAR(length=20,
                             collation='SQL_Latin1_General_CP1_CI_AS'),
                  autoincrement=False,
                  nullable=True),
        sa.Column('email',
                  sa.VARCHAR(length=120,
                             collation='SQL_Latin1_General_CP1_CI_AS'),
                  autoincrement=False,
                  nullable=True),
        sa.Column('password_hash',
                  sa.VARCHAR(length=128,
                             collation='SQL_Latin1_General_CP1_CI_AS'),
                  autoincrement=False,
                  nullable=True),
        sa.Column('is_admin', mssql.BIT(), autoincrement=False,
                  nullable=False),
        sa.ForeignKeyConstraint(['trang_thai_user_id'], ['TrangThaiUser.id'],
                                name='FK__User__trang_thai__656C112C'),
        sa.PrimaryKeyConstraint('id', name='PK__User__3213E83F405FB3BD'))
    op.create_index('ix_User_ten', 'User', ['ten'], unique=False)
    op.drop_index(op.f('ix_nhansu_User_username'),
                  table_name='User',
                  schema='nhansu')
    op.drop_index(op.f('ix_nhansu_User_ten'),
                  table_name='User',
                  schema='nhansu')
    op.drop_index(op.f('ix_nhansu_User_email'),
                  table_name='User',
                  schema='nhansu')
    op.drop_table('User', schema='nhansu')
Exemple #24
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('BoPhan',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('ten', sa.NVARCHAR(length=50), nullable=False),
                    sa.Column('ma', sa.VARCHAR(length=3), nullable=True),
                    sa.Column('khoi', sa.VARCHAR(length=20), nullable=True),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('CapBac',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('ten', sa.NVARCHAR(length=100), nullable=True),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('ChucDanhCongTac',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('ten', sa.NVARCHAR(length=100), nullable=True),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('ChucDanhNghiepVu',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('ten', sa.NVARCHAR(length=100), nullable=True),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('ChucDanhTuPhap',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('ten', sa.NVARCHAR(length=100), nullable=True),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('GiayTo',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('ten', sa.NVARCHAR(length=100), nullable=True),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('HinhThucKhenThuong',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('ten', sa.NVARCHAR(length=100), nullable=True),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('NhomViTri',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('ten', sa.NVARCHAR(length=250), nullable=True),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('PltdTapThe',
                    sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('nam', sa.SMALLINT(), nullable=True),
                    sa.Column('phan_loai',
                              sa.NVARCHAR(length=100),
                              nullable=True),
                    sa.Column('ghi_chu', sa.NVARCHAR(), nullable=True),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('TrangThaiCongTac',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('ten', sa.NVARCHAR(length=25), nullable=True),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('User',
                    sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('username', sa.VARCHAR(length=20),
                              nullable=True),
                    sa.Column('email', sa.VARCHAR(length=120), nullable=True),
                    sa.Column('password_hash',
                              sa.VARCHAR(length=128),
                              nullable=True),
                    sa.Column('is_admin', sa.Boolean(), nullable=False),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_index(op.f('ix_NhanSu_User_email'),
                    'User', ['email'],
                    unique=True,
                    schema='NhanSu')
    op.create_index(op.f('ix_NhanSu_User_username'),
                    'User', ['username'],
                    unique=True,
                    schema='NhanSu')
    op.create_table('CanBo',
                    sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('ho_dem', sa.NVARCHAR(length=30), nullable=True),
                    sa.Column('ten', sa.NVARCHAR(length=15), nullable=True),
                    sa.Column('ngay_sinh', sa.Date(), nullable=True),
                    sa.Column('gioi_tinh', sa.NCHAR(length=1), nullable=True),
                    sa.Column('nhom_mau', sa.VARCHAR(length=10),
                              nullable=True),
                    sa.Column('dan_toc', sa.NVARCHAR(length=20),
                              nullable=True),
                    sa.Column('que', sa.NVARCHAR(length=100), nullable=True),
                    sa.Column('dktt', sa.NVARCHAR(length=100), nullable=True),
                    sa.Column('noi_o', sa.NVARCHAR(length=100), nullable=True),
                    sa.Column('so_hieu', sa.VARCHAR(length=6), nullable=True),
                    sa.Column('ngay_vao_cong_an', sa.Date(), nullable=True),
                    sa.Column('nganh_ngoai', sa.Boolean(), nullable=True),
                    sa.Column('trinh_do_chinh_tri',
                              sa.NVARCHAR(length=30),
                              nullable=True),
                    sa.Column('trinh_do_ngoai_ngu',
                              sa.NVARCHAR(length=30),
                              nullable=True),
                    sa.Column('trinh_do_tin_hoc',
                              sa.NVARCHAR(length=30),
                              nullable=True),
                    sa.Column('trang_thai_cong_tac_id',
                              sa.SMALLINT(),
                              nullable=True),
                    sa.ForeignKeyConstraint(
                        ['trang_thai_cong_tac_id'],
                        ['NhanSu.TrangThaiCongTac.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_index(op.f('ix_NhanSu_CanBo_ten'),
                    'CanBo', ['ten'],
                    unique=False,
                    schema='NhanSu')
    op.create_table('KhenThuongTapThe',
                    sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('ten_tap_the', sa.NVARCHAR(), nullable=True),
                    sa.Column('hinh_thuc_khen_thuong_id',
                              sa.SMALLINT(),
                              nullable=True),
                    sa.Column('so_quyet_dinh',
                              sa.NVARCHAR(length=50),
                              nullable=True),
                    sa.Column('ngay_quyet_dinh', sa.DATE(), nullable=True),
                    sa.Column('don_vi_khen',
                              sa.NVARCHAR(length=250),
                              nullable=True),
                    sa.Column('noi_dung',
                              sa.NVARCHAR(length=250),
                              nullable=True),
                    sa.Column('so_tien', sa.INTEGER(), nullable=True),
                    sa.Column('ghi_chu', sa.NVARCHAR(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['hinh_thuc_khen_thuong_id'],
                        ['NhanSu.HinhThucKhenThuong.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('CapBacCanBo',
                    sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('can_bo_id', sa.INTEGER(), nullable=True),
                    sa.Column('cap_bac_id', sa.SMALLINT(), nullable=True),
                    sa.Column('ngay_bat_dau', sa.DATE(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['can_bo_id'],
                        ['NhanSu.CanBo.id'],
                    ),
                    sa.ForeignKeyConstraint(
                        ['cap_bac_id'],
                        ['NhanSu.CapBac.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('ChucDanhCongTacCanBo',
                    sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('can_bo_id', sa.INTEGER(), nullable=True),
                    sa.Column('chuc_danh_cong_tac_id',
                              sa.SMALLINT(),
                              nullable=True),
                    sa.Column('ngay_bat_dau', sa.DATE(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['can_bo_id'],
                        ['NhanSu.CanBo.id'],
                    ),
                    sa.ForeignKeyConstraint(
                        ['chuc_danh_cong_tac_id'],
                        ['NhanSu.ChucDanhCongTac.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('ChucDanhNghiepVuCanBo',
                    sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('can_bo_id', sa.INTEGER(), nullable=True),
                    sa.Column('chuc_danh_nghiep_vu_id',
                              sa.SMALLINT(),
                              nullable=True),
                    sa.Column('ngay_bat_dau', sa.DATE(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['can_bo_id'],
                        ['NhanSu.CanBo.id'],
                    ),
                    sa.ForeignKeyConstraint(
                        ['chuc_danh_nghiep_vu_id'],
                        ['NhanSu.ChucDanhNghiepVu.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('ChucDanhTuPhapCanBo',
                    sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('can_bo_id', sa.INTEGER(), nullable=True),
                    sa.Column('chuc_danh_tu_phap_id',
                              sa.SMALLINT(),
                              nullable=True),
                    sa.Column('ngay_bat_dau', sa.DATE(), nullable=True),
                    sa.Column('ngay_ket_thuc', sa.DATE(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['can_bo_id'],
                        ['NhanSu.CanBo.id'],
                    ),
                    sa.ForeignKeyConstraint(
                        ['chuc_danh_tu_phap_id'],
                        ['NhanSu.ChucDanhTuPhap.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('DangDoanThe',
                    sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('can_bo_id', sa.INTEGER(), nullable=True),
                    sa.Column('ngay_vao_dang_lan_dau',
                              sa.DATE(),
                              nullable=True),
                    sa.Column('ngay_vao_dang_chinh_thuc',
                              sa.DATE(),
                              nullable=True),
                    sa.ForeignKeyConstraint(
                        ['can_bo_id'],
                        ['NhanSu.CanBo.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('GiayToCanBo',
                    sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('can_bo_id', sa.INTEGER(), nullable=True),
                    sa.Column('giay_to_id', sa.SMALLINT(), nullable=True),
                    sa.Column('so', sa.NVARCHAR(length=50), nullable=True),
                    sa.Column('ngay_cap', sa.DATE(), nullable=True),
                    sa.Column('tinh_trang',
                              sa.NVARCHAR(length=30),
                              nullable=True),
                    sa.Column('loai_cap',
                              sa.NVARCHAR(length=30),
                              nullable=True),
                    sa.Column('ngay_thu', sa.DATE(), nullable=True),
                    sa.Column('ghi_chu', sa.NVARCHAR(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['can_bo_id'],
                        ['NhanSu.CanBo.id'],
                    ),
                    sa.ForeignKeyConstraint(
                        ['giay_to_id'],
                        ['NhanSu.GiayTo.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('HeSoLuongCanBo',
                    sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('can_bo_id', sa.INTEGER(), nullable=True),
                    sa.Column('he_so',
                              sa.DECIMAL(precision=4, scale=2),
                              nullable=True),
                    sa.Column('ngay_bat_dau', sa.DATE(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['can_bo_id'],
                        ['NhanSu.CanBo.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('KhenThuongCaNhan',
                    sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('can_bo_id', sa.INTEGER(), nullable=True),
                    sa.Column('hinh_thuc_khen_thuong_id',
                              sa.SMALLINT(),
                              nullable=True),
                    sa.Column('so_quyet_dinh',
                              sa.NVARCHAR(length=50),
                              nullable=True),
                    sa.Column('ngay_quyet_dinh', sa.DATE(), nullable=True),
                    sa.Column('don_vi_khen',
                              sa.NVARCHAR(length=250),
                              nullable=True),
                    sa.Column('noi_dung',
                              sa.NVARCHAR(length=250),
                              nullable=True),
                    sa.Column('so_tien', sa.INTEGER(), nullable=True),
                    sa.Column('ghi_chu', sa.NVARCHAR(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['can_bo_id'],
                        ['NhanSu.CanBo.id'],
                    ),
                    sa.ForeignKeyConstraint(
                        ['hinh_thuc_khen_thuong_id'],
                        ['NhanSu.HinhThucKhenThuong.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('KiLuat',
                    sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('can_bo_id', sa.INTEGER(), nullable=True),
                    sa.Column('hinh_thuc', sa.NVARCHAR(), nullable=True),
                    sa.Column('so_quyet_dinh',
                              sa.NVARCHAR(length=50),
                              nullable=True),
                    sa.Column('ngay_quyet_dinh', sa.DATE(), nullable=True),
                    sa.Column('noi_dung',
                              sa.NVARCHAR(length=250),
                              nullable=True),
                    sa.Column('ghi_chu', sa.NVARCHAR(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['can_bo_id'],
                        ['NhanSu.CanBo.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('PlcbTheoNam',
                    sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('can_bo_id', sa.INTEGER(), nullable=True),
                    sa.Column('nam', sa.SMALLINT(), nullable=True),
                    sa.Column('phan_loai',
                              sa.NVARCHAR(length=50),
                              nullable=True),
                    sa.Column('ghi_chu', sa.NVARCHAR(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['can_bo_id'],
                        ['NhanSu.CanBo.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('PltdCaNhanTheoNam',
                    sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('can_bo_id', sa.INTEGER(), nullable=True),
                    sa.Column('nam', sa.SMALLINT(), nullable=True),
                    sa.Column('phan_loai',
                              sa.NVARCHAR(length=5),
                              nullable=True),
                    sa.Column('ghi_chu', sa.NVARCHAR(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['can_bo_id'],
                        ['NhanSu.CanBo.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('PltdCaNhanTheoThang',
                    sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('can_bo_id', sa.INTEGER(), nullable=True),
                    sa.Column('thang', sa.DATE(), nullable=True),
                    sa.Column('phan_loai',
                              sa.NVARCHAR(length=5),
                              nullable=True),
                    sa.Column('ghi_chu', sa.NVARCHAR(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['can_bo_id'],
                        ['NhanSu.CanBo.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('SoDienThoai',
                    sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('can_bo_id', sa.INTEGER(), nullable=True),
                    sa.Column('so_dien_thoai',
                              sa.VARCHAR(length=10),
                              nullable=True),
                    sa.ForeignKeyConstraint(
                        ['can_bo_id'],
                        ['NhanSu.CanBo.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
    op.create_table('ViTri',
                    sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('can_bo_id', sa.INTEGER(), nullable=False),
                    sa.Column('bo_phan_id', sa.SMALLINT(), nullable=False),
                    sa.Column('cong_viec',
                              sa.NVARCHAR(length=255),
                              nullable=True),
                    sa.Column('nhom_vi_tri_id', sa.SMALLINT(), nullable=True),
                    sa.Column('ngay_bat_dau', sa.DATE(), nullable=True),
                    sa.Column('ngay_ket_thuc', sa.DATE(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['bo_phan_id'],
                        ['NhanSu.BoPhan.id'],
                    ),
                    sa.ForeignKeyConstraint(
                        ['can_bo_id'],
                        ['NhanSu.CanBo.id'],
                    ),
                    sa.ForeignKeyConstraint(
                        ['nhom_vi_tri_id'],
                        ['NhanSu.NhomViTri.id'],
                    ),
                    sa.PrimaryKeyConstraint('id'),
                    schema='NhanSu')
def upgrade():
    op.add_column('data_species_check_list',
                  sa.Column('priority', sa.NVARCHAR(255), nullable=True))
    op.add_column('data_habitats_check_list',
                  sa.Column('priority', sa.NVARCHAR(255), nullable=True))
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('CanBo',
    sa.Column('id', sa.INTEGER(), nullable=False),
    sa.Column('ho_dem', sa.NVARCHAR(length=30), nullable=True),
    sa.Column('ten', sa.NVARCHAR(length=15), nullable=True),
    sa.Column('ngay_sinh', sa.Date(), nullable=True),
    sa.Column('gioi_tinh', sa.NCHAR(length=1), nullable=True),
    sa.Column('nhom_mau', sa.VARCHAR(length=10), nullable=True),
    sa.Column('dan_toc', sa.NVARCHAR(length=20), nullable=True),
    sa.Column('que', sa.NVARCHAR(length=100), nullable=True),
    sa.Column('dktt', sa.NVARCHAR(length=100), nullable=True),
    sa.Column('noi_o', sa.NVARCHAR(length=100), nullable=True),
    sa.Column('so_hieu', sa.VARCHAR(length=6), nullable=True),
    sa.Column('ngay_vao_cong_an', sa.Date(), nullable=True),
    sa.Column('nganh_ngoai', sa.Boolean(), nullable=True),
    sa.Column('trinh_do_chinh_tri', sa.NVARCHAR(length=30), nullable=True),
    sa.Column('trinh_do_ngoai_ngu', sa.NVARCHAR(length=30), nullable=True),
    sa.Column('trinh_do_tin_hoc', sa.NVARCHAR(length=30), nullable=True),
    sa.Column('trang_thai_cong_tac_id', sa.SMALLINT(), nullable=True),
    sa.ForeignKeyConstraint(['trang_thai_cong_tac_id'], ['NhanSu.TrangThaiCongTac.id'], ),
    sa.PrimaryKeyConstraint('id'),
    schema='NhanSu'
    )
    op.create_index(op.f('ix_NhanSu_CanBo_ten'), 'CanBo', ['ten'], unique=False, schema='NhanSu')
    op.create_table('CapBacCanBo',
    sa.Column('id', sa.INTEGER(), nullable=False),
    sa.Column('can_bo_id', sa.Integer(), nullable=True),
    sa.Column('cap_bac_id', sa.SMALLINT(), nullable=True),
    sa.Column('ngay_bat_dau', sa.DATE(), nullable=True),
    sa.ForeignKeyConstraint(['can_bo_id'], ['NhanSu.CanBo.id'], ),
    sa.ForeignKeyConstraint(['cap_bac_id'], ['NhanSu.CapBac.id'], ),
    sa.PrimaryKeyConstraint('id'),
    schema='NhanSu'
    )
    op.create_table('ChucDanhCongTacCanBo',
    sa.Column('id', sa.SMALLINT(), nullable=False),
    sa.Column('can_bo_id', sa.Integer(), nullable=True),
    sa.Column('chuc_danh_cong_tac_id', sa.SMALLINT(), nullable=True),
    sa.Column('ngay_bat_dau', sa.DATE(), nullable=True),
    sa.ForeignKeyConstraint(['can_bo_id'], ['NhanSu.CanBo.id'], ),
    sa.ForeignKeyConstraint(['chuc_danh_cong_tac_id'], ['NhanSu.ChucDanhCongTac.id'], ),
    sa.PrimaryKeyConstraint('id'),
    schema='NhanSu'
    )
    op.create_table('ChucDanhNghiepVuCanBo',
    sa.Column('id', sa.SMALLINT(), nullable=False),
    sa.Column('can_bo_id', sa.Integer(), nullable=True),
    sa.Column('chuc_danh_nghiep_vu_id', sa.SMALLINT(), nullable=True),
    sa.Column('ngay_bat_dau', sa.DATE(), nullable=True),
    sa.ForeignKeyConstraint(['can_bo_id'], ['NhanSu.CanBo.id'], ),
    sa.ForeignKeyConstraint(['chuc_danh_nghiep_vu_id'], ['NhanSu.ChucDanhNghiepVu.id'], ),
    sa.PrimaryKeyConstraint('id'),
    schema='NhanSu'
    )
    op.create_table('ChucDanhTuPhapCanBo',
    sa.Column('id', sa.SMALLINT(), nullable=False),
    sa.Column('can_bo_id', sa.Integer(), nullable=True),
    sa.Column('chuc_danh_tu_phap_id', sa.SMALLINT(), nullable=True),
    sa.Column('ngay_bat_dau', sa.DATE(), nullable=True),
    sa.Column('ngay_ket_thuc', sa.DATE(), nullable=True),
    sa.ForeignKeyConstraint(['can_bo_id'], ['NhanSu.CanBo.id'], ),
    sa.ForeignKeyConstraint(['chuc_danh_tu_phap_id'], ['NhanSu.ChucDanhTuPhap.id'], ),
    sa.PrimaryKeyConstraint('id'),
    schema='NhanSu'
    )
    op.create_table('HeSoLuongCanBo',
    sa.Column('id', sa.INTEGER(), nullable=False),
    sa.Column('can_bo_id', sa.Integer(), nullable=True),
    sa.Column('he_so', sa.DECIMAL(precision=4, scale=2), nullable=True),
    sa.Column('ngay_bat_dau', sa.DATE(), nullable=True),
    sa.ForeignKeyConstraint(['can_bo_id'], ['NhanSu.CanBo.id'], ),
    sa.PrimaryKeyConstraint('id'),
    schema='NhanSu'
    )
    op.drop_table('ChucDanhCongTacUser', schema='NhanSu')
    op.drop_table('CapBacUser', schema='NhanSu')
    op.drop_table('ChucDanhNghiepVuUser', schema='NhanSu')
    op.drop_table('ChucDanhTuPhapUser', schema='NhanSu')
    op.drop_table('HeSoLuongUser', schema='NhanSu')
    op.add_column('SoDienThoai', sa.Column('can_bo_id', sa.Integer(), nullable=True), schema='NhanSu')
    op.drop_constraint('FK__SoDienTho__user___44CA3770', 'SoDienThoai', schema='NhanSu', type_='foreignkey')
    op.create_foreign_key(None, 'SoDienThoai', 'CanBo', ['can_bo_id'], ['id'], source_schema='NhanSu', referent_schema='NhanSu')
    op.drop_column('SoDienThoai', 'user_id', schema='NhanSu')
    op.drop_index('ix_NhanSu_User_ten', table_name='User', schema='NhanSu')
    op.drop_constraint('FK__User__trang_thai__2FCF1A8A', 'User', schema='NhanSu', type_='foreignkey')
    op.drop_column('User', 'so_hieu', schema='NhanSu')
    op.drop_column('User', 'nganh_ngoai', schema='NhanSu')
    op.drop_column('User', 'ngay_vao_cong_an', schema='NhanSu')
    op.drop_column('User', 'trinh_do_tin_hoc', schema='NhanSu')
    op.drop_column('User', 'trang_thai_cong_tac_id', schema='NhanSu')
    op.drop_column('User', 'ho_dem', schema='NhanSu')
    op.drop_column('User', 'dktt', schema='NhanSu')
    op.drop_column('User', 'dan_toc', schema='NhanSu')
    op.drop_column('User', 'ngay_sinh', schema='NhanSu')
    op.drop_column('User', 'ten', schema='NhanSu')
    op.drop_column('User', 'trinh_do_ngoai_ngu', schema='NhanSu')
    op.drop_column('User', 'trinh_do_chinh_tri', schema='NhanSu')
    op.drop_column('User', 'gioi_tinh', schema='NhanSu')
    op.drop_column('User', 'nhom_mau', schema='NhanSu')
    op.drop_column('User', 'que', schema='NhanSu')
    op.drop_column('User', 'noi_o', schema='NhanSu')
    op.add_column('ViTri', sa.Column('can_bo_id', sa.Integer(), nullable=False), schema='NhanSu')
    op.drop_constraint('FK__ViTri__user_id__489AC854', 'ViTri', schema='NhanSu', type_='foreignkey')
    op.create_foreign_key(None, 'ViTri', 'CanBo', ['can_bo_id'], ['id'], source_schema='NhanSu', referent_schema='NhanSu')
    op.drop_column('ViTri', 'user_id', schema='NhanSu')
def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.add_column('ViTri', sa.Column('user_id', sa.INTEGER(), autoincrement=False, nullable=False), schema='NhanSu')
    op.drop_constraint(None, 'ViTri', schema='NhanSu', type_='foreignkey')
    op.create_foreign_key('FK__ViTri__user_id__489AC854', 'ViTri', 'User', ['user_id'], ['id'], source_schema='NhanSu', referent_schema='NhanSu')
    op.drop_column('ViTri', 'can_bo_id', schema='NhanSu')
    op.add_column('User', sa.Column('noi_o', sa.NVARCHAR(length=100), autoincrement=False, nullable=True), schema='NhanSu')
    op.add_column('User', sa.Column('que', sa.NVARCHAR(length=100), autoincrement=False, nullable=True), schema='NhanSu')
    op.add_column('User', sa.Column('nhom_mau', sa.VARCHAR(length=10, collation='SQL_Latin1_General_CP1_CI_AS'), autoincrement=False, nullable=True), schema='NhanSu')
    op.add_column('User', sa.Column('gioi_tinh', sa.NCHAR(length=1), autoincrement=False, nullable=True), schema='NhanSu')
    op.add_column('User', sa.Column('trinh_do_chinh_tri', sa.NVARCHAR(length=30), autoincrement=False, nullable=True), schema='NhanSu')
    op.add_column('User', sa.Column('trinh_do_ngoai_ngu', sa.NVARCHAR(length=30), autoincrement=False, nullable=True), schema='NhanSu')
    op.add_column('User', sa.Column('ten', sa.NVARCHAR(length=15), autoincrement=False, nullable=True), schema='NhanSu')
    op.add_column('User', sa.Column('ngay_sinh', sa.DATE(), autoincrement=False, nullable=True), schema='NhanSu')
    op.add_column('User', sa.Column('dan_toc', sa.NVARCHAR(length=20), autoincrement=False, nullable=True), schema='NhanSu')
    op.add_column('User', sa.Column('dktt', sa.NVARCHAR(length=100), autoincrement=False, nullable=True), schema='NhanSu')
    op.add_column('User', sa.Column('ho_dem', sa.NVARCHAR(length=30), autoincrement=False, nullable=True), schema='NhanSu')
    op.add_column('User', sa.Column('trang_thai_cong_tac_id', sa.SMALLINT(), autoincrement=False, nullable=True), schema='NhanSu')
    op.add_column('User', sa.Column('trinh_do_tin_hoc', sa.NVARCHAR(length=30), autoincrement=False, nullable=True), schema='NhanSu')
    op.add_column('User', sa.Column('ngay_vao_cong_an', sa.DATE(), autoincrement=False, nullable=True), schema='NhanSu')
    op.add_column('User', sa.Column('nganh_ngoai', mssql.BIT(), autoincrement=False, nullable=True), schema='NhanSu')
    op.add_column('User', sa.Column('so_hieu', sa.VARCHAR(length=6, collation='SQL_Latin1_General_CP1_CI_AS'), autoincrement=False, nullable=True), schema='NhanSu')
    op.create_foreign_key('FK__User__trang_thai__2FCF1A8A', 'User', 'TrangThaiCongTac', ['trang_thai_cong_tac_id'], ['id'], source_schema='NhanSu', referent_schema='NhanSu')
    op.create_index('ix_NhanSu_User_ten', 'User', ['ten'], unique=False, schema='NhanSu')
    op.add_column('SoDienThoai', sa.Column('user_id', sa.INTEGER(), autoincrement=False, nullable=True), schema='NhanSu')
    op.drop_constraint(None, 'SoDienThoai', schema='NhanSu', type_='foreignkey')
    op.create_foreign_key('FK__SoDienTho__user___44CA3770', 'SoDienThoai', 'User', ['user_id'], ['id'], source_schema='NhanSu', referent_schema='NhanSu')
    op.drop_column('SoDienThoai', 'can_bo_id', schema='NhanSu')
    op.create_table('HeSoLuongUser',
    sa.Column('id', sa.INTEGER(), autoincrement=True, nullable=False, mssql_identity_start=1, mssql_identity_increment=1),
    sa.Column('user_id', sa.INTEGER(), autoincrement=False, nullable=True),
    sa.Column('he_so', sa.DECIMAL(precision=4, scale=2), autoincrement=False, nullable=True),
    sa.Column('ngay_bat_dau', sa.DATE(), autoincrement=False, nullable=True),
    sa.ForeignKeyConstraint(['user_id'], ['NhanSu.User.id'], name='FK__HeSoLuong__user___41EDCAC5'),
    sa.PrimaryKeyConstraint('id', name='PK__HeSoLuon__3213E83F3D9EB5CD'),
    schema='NhanSu'
    )
    op.create_table('ChucDanhTuPhapUser',
    sa.Column('id', sa.SMALLINT(), autoincrement=True, nullable=False, mssql_identity_start=1, mssql_identity_increment=1),
    sa.Column('user_id', sa.INTEGER(), autoincrement=False, nullable=True),
    sa.Column('chuc_danh_tu_phap_id', sa.SMALLINT(), autoincrement=False, nullable=True),
    sa.Column('ngay_bat_dau', sa.DATE(), autoincrement=False, nullable=True),
    sa.Column('ngay_ket_thuc', sa.DATE(), autoincrement=False, nullable=True),
    sa.ForeignKeyConstraint(['chuc_danh_tu_phap_id'], ['NhanSu.ChucDanhTuPhap.id'], name='FK__ChucDanhT__chuc___3E1D39E1'),
    sa.ForeignKeyConstraint(['user_id'], ['NhanSu.User.id'], name='FK__ChucDanhT__user___3F115E1A'),
    sa.PrimaryKeyConstraint('id', name='PK__ChucDanh__3213E83F44920B68'),
    schema='NhanSu'
    )
    op.create_table('ChucDanhNghiepVuUser',
    sa.Column('id', sa.SMALLINT(), autoincrement=True, nullable=False, mssql_identity_start=1, mssql_identity_increment=1),
    sa.Column('user_id', sa.INTEGER(), autoincrement=False, nullable=True),
    sa.Column('chuc_danh_nghiep_vu_id', sa.SMALLINT(), autoincrement=False, nullable=True),
    sa.Column('ngay_bat_dau', sa.DATE(), autoincrement=False, nullable=True),
    sa.ForeignKeyConstraint(['chuc_danh_nghiep_vu_id'], ['NhanSu.ChucDanhNghiepVu.id'], name='FK__ChucDanhN__chuc___3A4CA8FD'),
    sa.ForeignKeyConstraint(['user_id'], ['NhanSu.User.id'], name='FK__ChucDanhN__user___3B40CD36'),
    sa.PrimaryKeyConstraint('id', name='PK__ChucDanh__3213E83F66F9C81E'),
    schema='NhanSu'
    )
    op.create_table('CapBacUser',
    sa.Column('id', sa.INTEGER(), autoincrement=True, nullable=False, mssql_identity_start=1, mssql_identity_increment=1),
    sa.Column('user_id', sa.INTEGER(), autoincrement=False, nullable=True),
    sa.Column('cap_bac_id', sa.SMALLINT(), autoincrement=False, nullable=True),
    sa.Column('ngay_bat_dau', sa.DATE(), autoincrement=False, nullable=True),
    sa.ForeignKeyConstraint(['cap_bac_id'], ['NhanSu.CapBac.id'], name='FK__CapBacUse__cap_b__32AB8735'),
    sa.ForeignKeyConstraint(['user_id'], ['NhanSu.User.id'], name='FK__CapBacUse__user___339FAB6E'),
    sa.PrimaryKeyConstraint('id', name='PK__CapBacUs__3213E83F71EF910A'),
    schema='NhanSu'
    )
    op.create_table('ChucDanhCongTacUser',
    sa.Column('id', sa.SMALLINT(), autoincrement=True, nullable=False, mssql_identity_start=1, mssql_identity_increment=1),
    sa.Column('user_id', sa.INTEGER(), autoincrement=False, nullable=True),
    sa.Column('chuc_danh_cong_tac_id', sa.SMALLINT(), autoincrement=False, nullable=True),
    sa.Column('ngay_bat_dau', sa.DATE(), autoincrement=False, nullable=True),
    sa.ForeignKeyConstraint(['chuc_danh_cong_tac_id'], ['NhanSu.ChucDanhCongTac.id'], name='FK__ChucDanhC__chuc___367C1819'),
    sa.ForeignKeyConstraint(['user_id'], ['NhanSu.User.id'], name='FK__ChucDanhC__user___37703C52'),
    sa.PrimaryKeyConstraint('id', name='PK__ChucDanh__3213E83FB6B44B67'),
    schema='NhanSu'
    )
    op.drop_table('HeSoLuongCanBo', schema='NhanSu')
    op.drop_table('ChucDanhTuPhapCanBo', schema='NhanSu')
    op.drop_table('ChucDanhNghiepVuCanBo', schema='NhanSu')
    op.drop_table('ChucDanhCongTacCanBo', schema='NhanSu')
    op.drop_table('CapBacCanBo', schema='NhanSu')
    op.drop_index(op.f('ix_NhanSu_CanBo_ten'), table_name='CanBo', schema='NhanSu')
    op.drop_table('CanBo', schema='NhanSu')
Exemple #28
0
     lambda v: f"TIMESTAMP {repr(str(v))}",
 ),
 (
     sqlalchemy.DATETIME,
     datetime.datetime(2021, 2, 3, 4, 5, 8, 123456),
     "DATETIME",
     dtrepr,
 ),
 (sqlalchemy.DATE, datetime.date(2021, 2, 4), "DATE", dtrepr),
 (sqlalchemy.TIME, datetime.time(4, 5, 7, 123456), "TIME", dtrepr),
 (sqlalchemy.TIME, datetime.time(4, 5, 7), "TIME", dtrepr),
 (sqlalchemy.TEXT, "myTEXT", "STRING", repr),
 (sqlalchemy.VARCHAR, "myVARCHAR", "STRING", repr),
 (sqlalchemy.NVARCHAR, "myNVARCHAR", "STRING", repr),
 (sqlalchemy.VARCHAR(42), "myVARCHAR", "STRING(42)", repr),
 (sqlalchemy.NVARCHAR(42), "myNVARCHAR", "STRING(42)", repr),
 (sqlalchemy.CHAR, "myCHAR", "STRING", repr),
 (sqlalchemy.NCHAR, "myNCHAR", "STRING", repr),
 (sqlalchemy.BINARY, b"myBINARY", "BYTES", repr),
 (sqlalchemy.VARBINARY, b"myVARBINARY", "BYTES", repr),
 (sqlalchemy.VARBINARY(42), b"myVARBINARY", "BYTES(42)", repr),
 (sqlalchemy.BOOLEAN, False, "BOOL", "false"),
 (sqlalchemy.ARRAY(sqlalchemy.Integer), [1, 2, 3], "ARRAY<INT64>", repr),
 (
     sqlalchemy.ARRAY(sqlalchemy.DATETIME),
     [
         datetime.datetime(2021, 2, 3, 4, 5, 6),
         datetime.datetime(2021, 2, 3, 4, 5, 7, 123456),
         datetime.datetime(2021, 2, 3, 4, 5, 8, 123456),
     ],
     "ARRAY<DATETIME>",
Exemple #29
0
class Genre(Base):
    __tablename__ = 'genres'

    genre_id = sa.Column('GenreId', sa.Integer, primary_key=True)
    name = sa.Column('Name', sa.NVARCHAR(120))
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('ChucDanhNghiepVu',
                    sa.Column('id', sa.SMALLINT(), nullable=False),
                    sa.Column('ten', sa.NVARCHAR(length=100), nullable=True),
                    sa.PrimaryKeyConstraint('id'))