sql >> Database teknologi >  >> RDS >> Mysql

SQLAlchemy JSON som blob/tekst

Du kan meget nemt oprette din egen type med SQLAlchemy

For SQLAlchemy-versioner>=0.7, tjek Yogeshs svar nedenfor

import jsonpickle
import sqlalchemy.types as types

class JsonType(types.MutableType, types.TypeDecorator):    
    impl = types.Unicode

    def process_bind_param(self, value, engine):
        return unicode(jsonpickle.encode(value))

    def process_result_value(self, value, engine):
        if value:
            return jsonpickle.decode(value)
        else:
            # default can also be a list
            return {}

Dette kan bruges, når du definerer dine tabeller (eksempel bruger eliksir):

from elixir import *
class MyTable(Entity):
    using_options(tablename='my_table')
    foo = Field(String, primary_key=True)
    content = Field(JsonType())
    active = Field(Boolean, default=True)

Du kan også bruge en anden json serialiser til at jsonpickle.



  1. INDSÆT I ... VÆLG FRA ... PÅ DUBLIKAT NØGLEOPDATERING

  2. Flere måder at slette dubletter fra SQL-tabeller på

  3. Er der nogen, der ved, hvilken krypteringsteknik JDeveloper/SQL Developer bruger til at bevare legitimationsoplysninger?

  4. Forbind MySQL til Spring-applikationen