On Wed, May 11, 2016 at 9:39 AM, Piotr Dobrogost <p...@2016.groups.google.dobrogost.net> wrote: > On Monday, May 9, 2016 at 5:05:11 PM UTC+2, Mike Bayer wrote: >> >> >> the only thing that is sigificant with "mock" is the first part of the >> URL. You can just send the whole URL though, so just like this: >> >> >> mock_engine = create_engine(real_engine.url, strategy="mock", ...) > > > I see differences between SQL emitted by mock engine and the one emitted by > real engine. > Some columns in my db use JsonType which is based on Text type: > > class JsonType(TypeDecorator): > impl = Text > (...) > > class Tab(Base): > annotations = Column(NestedMutationDict.as_mutable(JsonType)) > (...) > > For these columns the type used by mock engine is TEXT whereas the type used > by real engine is CLOB. > > From mock: > > CREATE TABLE nodes ( > id INTEGER NOT NULL, > type VARCHAR(30) NOT NULL, > parent_id INTEGER, > position INTEGER, > _acl TEXT, > name VARCHAR(250), > title VARCHAR(250), > annotations TEXT, > path VARCHAR(2000), > PRIMARY KEY (id), > UNIQUE (parent_id, name), > FOREIGN KEY(parent_id) REFERENCES nodes (id) > ) > > From real engine: > CREATE TABLE nodes ( > id INTEGER NOT NULL, > type VARCHAR2(30 CHAR) NOT NULL, > parent_id INTEGER, > position INTEGER, > "_acl" CLOB, > name NVARCHAR2(250), > title NVARCHAR2(250), > annotations CLOB, > path NVARCHAR2(2000), > PRIMARY KEY (id), > UNIQUE (parent_id, name), > FOREIGN KEY(parent_id) REFERENCES nodes (id) > ) > > The second difference is that real engine quotes the name of column which > begins with underscore (_acl) but the mock one does not. Oracle treats > unquoted version as invalid giving the following error: > ORA-00911: invalid character > > > What's the reason for these differences? >
At least for the quoting issue, it sounds like you aren't using the Oracle dialect. What does "print mock_engine.dialect" report? Simon -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.