Guest User

Untitled

a guest
Jul 18th, 2018
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.04 KB | None | 0 0
  1. from sqlalchemy import *
  2. from migrate import *
  3. from migrate.changeset import schema
  4. meta = MetaData()
  5.  
  6. account = Table('account', meta,
  7. Column('id', Integer(), primary_key=True, nullable=False),
  8. Column('login', String(length=40, convert_unicode=False, assert_unicode=None,unicode_error=None, _warn_on_bytestring=False)),
  9. Column('passwd', String(length=40, convert_unicode=False, assert_unicode=None, unicode_error=None, _warn_on_bytestring=False)),)
  10.  
  11. def upgrade(migrate_engine):
  12. meta.bind = migrate_engine
  13. account.create()
  14.  
  15. def downgrade(migrate_engine):
  16. meta.bind = migrate_engine
  17. account.drop()
  18.  
  19. from sqlalchemy import *
  20. meta = MetaData()
  21. account = Table('account', meta,
  22. Column('id', Integer(), primary_key=True, nullable=False),
  23. Column('login', String(length=None, convert_unicode=False, assert_unicode=None, unicode_error=None, _warn_on_bytestring=False)),
  24. Column('passwd', String(length=None, convert_unicode=False, assert_unicode=None, unicode_error=None, _warn_on_bytestring=False)),
  25. Column('newcol', String(length=None, convert_unicode=False, assert_unicode=None, unicode_error=None, _warn_on_bytestring=False)),)
  26.  
  27. from sqlalchemy import *
  28. from migrate import *
  29.  
  30. from migrate.changeset import schema
  31. meta = MetaData()
  32. account = Table('account', meta,
  33. Column('id', Integer(), primary_key=True, nullable=False),
  34. Column('login', String(length=None, convert_unicode=False, assert_unicode=None, unicode_error=None, _warn_on_bytestring=False)),
  35. Column('passwd', String(length=None, convert_unicode=False, assert_unicode=None, unicode_error=None, _warn_on_bytestring=False)),
  36. )
  37.  
  38. def upgrade(migrate_engine):
  39. # Upgrade operations go here. Don't create your own engine; bind migrate_engine
  40. # to your metadata
  41. meta.bind = migrate_engine
  42. account.columns['newcol'].create()
  43.  
  44. def downgrade(migrate_engine):
  45. # Operations to reverse the above upgrade go here.
  46. meta.bind = migrate_engine
  47. account.columns['newcol'].drop()
  48.  
  49. Upgrading...
  50. Traceback (most recent call last):
  51. File "./manage.py", line 3, in ?
  52. main(url='mysql://login:password@localhost/test_DB', debug='False', repository='.')
  53. File "/usr/lib/python2.4/site-packages/sqlalchemy_migrate-0.7.1-py2.4.egg/migrate/versioning/shell.py", line 207, in main
  54. ret = command_func(**kwargs)
  55. File "<string>", line 2, in test
  56. File "/usr/lib/python2.4/site-packages/sqlalchemy_migrate-0.7.1-py2.4.egg/migrate/versioning/util/__init__.py", line 159, in with_engine
  57. return f(*a, **kw)
  58. File "/usr/lib/python2.4/site-packages/sqlalchemy_migrate-0.7.1-py2.4.egg/migrate/versioning/api.py", line 219, in test
  59. script.run(engine, 1)
  60. File "/usr/lib/python2.4/site-packages/sqlalchemy_migrate-0.7.1-py2.4.egg/migrate/versioning/script/py.py", line 145, in run
  61. script_func(engine)
  62. File "/mnt/dev-mahmud/DL/RedIndigo/res/test-migrate/my_respository/002_migrate.py", line 16, in upgrade
  63. account.columns['newcol'].create()
  64. File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.6.4-py2.4.egg/sqlalchemy/util.py", line 778, in __getitem__
  65. return self._data[key]
  66. KeyError: 'newcol'
Add Comment
Please, Sign In to add comment