Python sqlalchemy.types.NVARCHAR Examples
The following are 7
code examples of sqlalchemy.types.NVARCHAR().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
sqlalchemy.types
, or try the search function
.
Example #1
Source File: common.py From stock with Apache License 2.0 | 6 votes |
def insert_other_db(to_db, data, table_name, write_index, primary_keys): # 定义engine engine_mysql = engine_to_db(to_db) # 使用 http://docs.sqlalchemy.org/en/latest/core/reflection.html # 使用检查检查数据库表是否有主键。 insp = inspect(engine_mysql) col_name_list = data.columns.tolist() # 如果有索引,把索引增加到varchar上面。 if write_index: # 插入到第一个位置: col_name_list.insert(0, data.index.name) print(col_name_list) data.to_sql(name=table_name, con=engine_mysql, schema=to_db, if_exists='append', dtype={col_name: NVARCHAR(length=255) for col_name in col_name_list}, index=write_index) # 判断是否存在主键 if insp.get_primary_keys(table_name) == []: with engine_mysql.connect() as con: # 执行数据库插入数据。 try: con.execute('ALTER TABLE `%s` ADD PRIMARY KEY (%s);' % (table_name, primary_keys)) except Exception as e: print("################## ADD PRIMARY KEY ERROR :", e) # 插入数据。
Example #2
Source File: test_filter_set.py From graphene-sqlalchemy-filter with MIT License | 5 votes |
def test_sql_alchemy_subclass_column_types(): class F(FilterSet): ALLOWED_FILTERS = {types.Integer: ['eq', 'gt']} class Meta: abstract = True class MyNVARCHAR(types.NVARCHAR): pass class TestModel(Base): __tablename__ = 'test' id = Column(types.SmallInteger, primary_key=True, autoincrement=True) text = Column(MyNVARCHAR) class TestFilter(F): EXTRA_ALLOWED_FILTERS = {types.String: ['eq']} class Meta: model = TestModel fields = {'id': [...], 'text': [...]} filter_fields = set(TestFilter._meta.fields) ok = {'id', 'id_gt', 'text', 'text_is_null', 'and', 'not', 'or'} assert filter_fields == ok
Example #3
Source File: netezza_dialect.py From netezza_sqlalchemy with MIT License | 5 votes |
def __init__(self, length=None, collation=None, convert_unicode='force', unicode_error=None): super(NVARCHAR, self).__init__( length, collation=collation, convert_unicode=convert_unicode, unicode_error='ignore')
Example #4
Source File: test_types.py From sqlalchemy with MIT License | 5 votes |
def test_char_length(self): self.assert_compile(VARCHAR(50), "VARCHAR(50 CHAR)") oracle8dialect = oracle.dialect() oracle8dialect.server_version_info = (8, 0) self.assert_compile(VARCHAR(50), "VARCHAR(50)", dialect=oracle8dialect) self.assert_compile(NVARCHAR(50), "NVARCHAR2(50)") self.assert_compile(CHAR(50), "CHAR(50)")
Example #5
Source File: test_types.py From sqlalchemy with MIT License | 5 votes |
def test_reflect_nvarchar(self): metadata = self.metadata Table( "tnv", metadata, Column("nv_data", sqltypes.NVARCHAR(255)), Column("c_data", sqltypes.NCHAR(20)), ) metadata.create_all() m2 = MetaData(testing.db) t2 = Table("tnv", m2, autoload=True) assert isinstance(t2.c.nv_data.type, sqltypes.NVARCHAR) assert isinstance(t2.c.c_data.type, sqltypes.NCHAR) if testing.against("oracle+cx_oracle"): assert isinstance( t2.c.nv_data.type.dialect_impl(testing.db.dialect), cx_oracle._OracleUnicodeStringNCHAR, ) assert isinstance( t2.c.c_data.type.dialect_impl(testing.db.dialect), cx_oracle._OracleNChar, ) data = u("m’a réveillé.") with testing.db.connect() as conn: conn.execute(t2.insert(), dict(nv_data=data, c_data=data)) nv_data, c_data = conn.execute(t2.select()).first() eq_(nv_data, data) eq_(c_data, data + (" " * 7)) # char is space padded assert isinstance(nv_data, util.text_type) assert isinstance(c_data, util.text_type)
Example #6
Source File: test_types.py From sqlalchemy with MIT License | 5 votes |
def test_char_length(self): metadata = self.metadata t1 = Table( "t1", metadata, Column("c1", VARCHAR(50)), Column("c2", NVARCHAR(250)), Column("c3", CHAR(200)), Column("c4", NCHAR(180)), ) t1.create() m2 = MetaData(testing.db) t2 = Table("t1", m2, autoload=True) eq_(t2.c.c1.type.length, 50) eq_(t2.c.c2.type.length, 250) eq_(t2.c.c3.type.length, 200) eq_(t2.c.c4.type.length, 180)
Example #7
Source File: base.py From sqlalchemy with MIT License | 4 votes |
def _get_column_info( self, name, type_, nullable, autoincrement, default, precision, scale, length, ): coltype = self.ischema_names.get(type_, None) kwargs = {} if coltype in (NUMERIC, DECIMAL): args = (precision, scale) elif coltype == FLOAT: args = (precision,) elif coltype in (CHAR, VARCHAR, UNICHAR, UNIVARCHAR, NCHAR, NVARCHAR): args = (length,) else: args = () if coltype: coltype = coltype(*args, **kwargs) # is this necessary # if is_array: # coltype = ARRAY(coltype) else: util.warn( "Did not recognize type '%s' of column '%s'" % (type_, name) ) coltype = sqltypes.NULLTYPE if default: default = default.replace("DEFAULT", "").strip() default = re.sub("^'(.*)'$", lambda m: m.group(1), default) else: default = None column_info = dict( name=name, type=coltype, nullable=nullable, default=default, autoincrement=autoincrement, ) return column_info