Created
December 5, 2014 18:17
-
-
Save agronholm/3370b33316b20c6185bf to your computer and use it in GitHub Desktop.
Creating tables in a transaction
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from sqlalchemy import create_engine, Table, Column, Integer, String, UniqueConstraint | |
from sqlalchemy.ext.declarative import declarative_base | |
engine = create_engine('postgresql:///testdb', echo=True) | |
Base = declarative_base() | |
SALT = dict( | |
phrase=64, | |
bytes=32, | |
) | |
salt = Table( | |
'token_salt', Base.metadata, | |
Column('id', Integer, primary_key=True), | |
Column('client_id', Integer, nullable=False), | |
Column('phrase', String(SALT['phrase']), nullable=False), | |
Column('next_id', Integer), | |
UniqueConstraint( | |
'client_id', 'phrase', name='token_salt_unique_client_phrase', | |
), | |
) | |
blah = Table('blah', Base.metadata, Column('test', Integer)) | |
conn = engine.connect() | |
with conn.begin(): | |
Base.metadata.create_all(conn) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2014-12-05 20:15:09,431 INFO sqlalchemy.engine.base.Engine select version() | |
2014-12-05 20:15:09,432 INFO sqlalchemy.engine.base.Engine {} | |
2014-12-05 20:15:09,434 INFO sqlalchemy.engine.base.Engine select current_schema() | |
2014-12-05 20:15:09,434 INFO sqlalchemy.engine.base.Engine {} | |
2014-12-05 20:15:09,436 INFO sqlalchemy.engine.base.Engine SELECT CAST('test plain returns' AS VARCHAR(60)) AS anon_1 | |
2014-12-05 20:15:09,436 INFO sqlalchemy.engine.base.Engine {} | |
2014-12-05 20:15:09,437 INFO sqlalchemy.engine.base.Engine SELECT CAST('test unicode returns' AS VARCHAR(60)) AS anon_1 | |
2014-12-05 20:15:09,437 INFO sqlalchemy.engine.base.Engine {} | |
2014-12-05 20:15:09,438 INFO sqlalchemy.engine.base.Engine show standard_conforming_strings | |
2014-12-05 20:15:09,438 INFO sqlalchemy.engine.base.Engine {} | |
2014-12-05 20:15:09,439 INFO sqlalchemy.engine.base.Engine BEGIN (implicit) | |
2014-12-05 20:15:09,440 INFO sqlalchemy.engine.base.Engine select relname from pg_class c join pg_namespace n on n.oid=c.relnamespace where n.nspname=current_schema() and relname=%(name)s | |
2014-12-05 20:15:09,440 INFO sqlalchemy.engine.base.Engine {'name': 'blah'} | |
2014-12-05 20:15:09,442 INFO sqlalchemy.engine.base.Engine select relname from pg_class c join pg_namespace n on n.oid=c.relnamespace where n.nspname=current_schema() and relname=%(name)s | |
2014-12-05 20:15:09,442 INFO sqlalchemy.engine.base.Engine {'name': 'token_salt'} | |
2014-12-05 20:15:09,443 INFO sqlalchemy.engine.base.Engine | |
CREATE TABLE blah ( | |
test INTEGER | |
) | |
2014-12-05 20:15:09,444 INFO sqlalchemy.engine.base.Engine {} | |
2014-12-05 20:15:09,451 INFO sqlalchemy.engine.base.Engine | |
CREATE TABLE token_salt ( | |
id SERIAL NOT NULL, | |
client_id INTEGER NOT NULL, | |
phrase VARCHAR(64) NOT NULL, | |
next_id INTEGER, | |
PRIMARY KEY (id), | |
CONSTRAINT token_salt_unique_client_phrase UNIQUE (client_id, phrase) | |
) | |
2014-12-05 20:15:09,452 INFO sqlalchemy.engine.base.Engine {} | |
2014-12-05 20:15:09,462 INFO sqlalchemy.engine.base.Engine COMMIT |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment