8ad96e49dc6_init.py 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. """init
  2. Revision ID: 8ad96e49dc6
  3. Revises: None
  4. Create Date: 2015-01-08 23:14:01.941746
  5. """
  6. # revision identifiers, used by Alembic.
  7. from alembic import op
  8. import sqlalchemy as sa
  9. revision = '8ad96e49dc6'
  10. down_revision = None
  11. branch_labels = ('default',)
  12. def upgrade():
  13. ### commands auto generated by Alembic - please adjust! ###
  14. op.create_table('groups',
  15. sa.Column('id', sa.Integer(), nullable=False),
  16. sa.Column('name', sa.String(length=255), nullable=False),
  17. sa.Column('description', sa.Text(), nullable=True),
  18. sa.Column('admin', sa.Boolean(), nullable=False),
  19. sa.Column('super_mod', sa.Boolean(), nullable=False),
  20. sa.Column('mod', sa.Boolean(), nullable=False),
  21. sa.Column('guest', sa.Boolean(), nullable=False),
  22. sa.Column('banned', sa.Boolean(), nullable=False),
  23. sa.Column('mod_edituser', sa.Boolean(), nullable=False),
  24. sa.Column('mod_banuser', sa.Boolean(), nullable=False),
  25. sa.Column('editpost', sa.Boolean(), nullable=False),
  26. sa.Column('deletepost', sa.Boolean(), nullable=False),
  27. sa.Column('deletetopic', sa.Boolean(), nullable=False),
  28. sa.Column('posttopic', sa.Boolean(), nullable=False),
  29. sa.Column('postreply', sa.Boolean(), nullable=False),
  30. sa.PrimaryKeyConstraint('id'),
  31. sa.UniqueConstraint('name')
  32. )
  33. op.create_table('categories',
  34. sa.Column('id', sa.Integer(), nullable=False),
  35. sa.Column('title', sa.String(length=255), nullable=False),
  36. sa.Column('description', sa.Text(), nullable=True),
  37. sa.Column('position', sa.Integer(), nullable=False),
  38. sa.PrimaryKeyConstraint('id')
  39. )
  40. op.create_table('settingsgroup',
  41. sa.Column('key', sa.String(length=255), nullable=False),
  42. sa.Column('name', sa.String(length=255), nullable=False),
  43. sa.Column('description', sa.Text(), nullable=False),
  44. sa.PrimaryKeyConstraint('key')
  45. )
  46. op.create_table('settings',
  47. sa.Column('key', sa.String(length=255), nullable=False),
  48. sa.Column('value', sa.PickleType(), nullable=False),
  49. sa.Column('settingsgroup', sa.String(length=255), nullable=False),
  50. sa.Column('name', sa.String(length=200), nullable=False),
  51. sa.Column('description', sa.Text(), nullable=False),
  52. sa.Column('value_type', sa.String(length=20), nullable=False),
  53. sa.Column('extra', sa.PickleType(), nullable=True),
  54. sa.ForeignKeyConstraint(['settingsgroup'], ['settingsgroup.key'], name='fk_settingsgroup', use_alter=True),
  55. sa.PrimaryKeyConstraint('key')
  56. )
  57. op.create_table('users',
  58. sa.Column('id', sa.Integer(), nullable=False),
  59. sa.Column('username', sa.String(length=200), nullable=False),
  60. sa.Column('email', sa.String(length=200), nullable=False),
  61. sa.Column('password', sa.String(length=120), nullable=False),
  62. sa.Column('date_joined', sa.DateTime(), nullable=True),
  63. sa.Column('lastseen', sa.DateTime(), nullable=True),
  64. sa.Column('birthday', sa.DateTime(), nullable=True),
  65. sa.Column('gender', sa.String(length=10), nullable=True),
  66. sa.Column('website', sa.String(length=200), nullable=True),
  67. sa.Column('location', sa.String(length=100), nullable=True),
  68. sa.Column('signature', sa.Text(), nullable=True),
  69. sa.Column('avatar', sa.String(length=200), nullable=True),
  70. sa.Column('notes', sa.Text(), nullable=True),
  71. sa.Column('theme', sa.String(length=15), nullable=True),
  72. sa.Column('language', sa.String(length=15), nullable=True),
  73. sa.Column('post_count', sa.Integer(), nullable=True),
  74. sa.Column('primary_group_id', sa.Integer(), nullable=False),
  75. sa.ForeignKeyConstraint(['primary_group_id'], ['groups.id'], ),
  76. sa.PrimaryKeyConstraint('id'),
  77. sa.UniqueConstraint('email'),
  78. sa.UniqueConstraint('username')
  79. )
  80. op.create_table('topictracker',
  81. sa.Column('user_id', sa.Integer(), nullable=False),
  82. sa.Column('topic_id', sa.Integer(), nullable=False),
  83. sa.ForeignKeyConstraint(['topic_id'], ['topics.id'], name='fk_tracker_topic_id', use_alter=True),
  84. sa.ForeignKeyConstraint(['user_id'], ['users.id'], )
  85. )
  86. op.create_table('groups_users',
  87. sa.Column('user_id', sa.Integer(), nullable=True),
  88. sa.Column('group_id', sa.Integer(), nullable=True),
  89. sa.ForeignKeyConstraint(['group_id'], ['groups.id'], ),
  90. sa.ForeignKeyConstraint(['user_id'], ['users.id'], )
  91. )
  92. op.create_table('forumsread',
  93. sa.Column('user_id', sa.Integer(), nullable=False),
  94. sa.Column('forum_id', sa.Integer(), nullable=False),
  95. sa.Column('last_read', sa.DateTime(), nullable=True),
  96. sa.Column('cleared', sa.DateTime(), nullable=True),
  97. sa.ForeignKeyConstraint(['forum_id'], ['forums.id'], name='fk_fr_forum_id', use_alter=True),
  98. sa.ForeignKeyConstraint(['user_id'], ['users.id'], ),
  99. sa.PrimaryKeyConstraint('user_id', 'forum_id')
  100. )
  101. op.create_table('moderators',
  102. sa.Column('user_id', sa.Integer(), nullable=False),
  103. sa.Column('forum_id', sa.Integer(), nullable=False),
  104. sa.ForeignKeyConstraint(['forum_id'], ['forums.id'], name='fk_forum_id', use_alter=True),
  105. sa.ForeignKeyConstraint(['user_id'], ['users.id'], )
  106. )
  107. op.create_table('posts',
  108. sa.Column('id', sa.Integer(), nullable=False),
  109. sa.Column('topic_id', sa.Integer(), nullable=True),
  110. sa.Column('user_id', sa.Integer(), nullable=True),
  111. sa.Column('username', sa.String(length=200), nullable=False),
  112. sa.Column('content', sa.Text(), nullable=False),
  113. sa.Column('date_created', sa.DateTime(), nullable=True),
  114. sa.Column('date_modified', sa.DateTime(), nullable=True),
  115. sa.Column('modified_by', sa.String(length=200), nullable=True),
  116. sa.ForeignKeyConstraint(['topic_id'], ['topics.id'], name='fk_post_topic_id', ondelete='CASCADE', use_alter=True),
  117. sa.ForeignKeyConstraint(['user_id'], ['users.id'], ),
  118. sa.PrimaryKeyConstraint('id')
  119. )
  120. op.create_table('privatemessages',
  121. sa.Column('id', sa.Integer(), nullable=False),
  122. sa.Column('user_id', sa.Integer(), nullable=False),
  123. sa.Column('from_user_id', sa.Integer(), nullable=True),
  124. sa.Column('to_user_id', sa.Integer(), nullable=True),
  125. sa.Column('subject', sa.String(length=255), nullable=True),
  126. sa.Column('message', sa.Text(), nullable=True),
  127. sa.Column('date_created', sa.DateTime(), nullable=True),
  128. sa.Column('trash', sa.Boolean(), nullable=False),
  129. sa.Column('draft', sa.Boolean(), nullable=False),
  130. sa.Column('unread', sa.Boolean(), nullable=False),
  131. sa.ForeignKeyConstraint(['from_user_id'], ['users.id'], ),
  132. sa.ForeignKeyConstraint(['to_user_id'], ['users.id'], ),
  133. sa.ForeignKeyConstraint(['user_id'], ['users.id'], ),
  134. sa.PrimaryKeyConstraint('id')
  135. )
  136. op.create_table('topicsread',
  137. sa.Column('user_id', sa.Integer(), nullable=False),
  138. sa.Column('topic_id', sa.Integer(), nullable=False),
  139. sa.Column('forum_id', sa.Integer(), nullable=False),
  140. sa.Column('last_read', sa.DateTime(), nullable=True),
  141. sa.ForeignKeyConstraint(['forum_id'], ['forums.id'], name='fk_tr_forum_id', use_alter=True),
  142. sa.ForeignKeyConstraint(['topic_id'], ['topics.id'], name='fk_tr_topic_id', use_alter=True),
  143. sa.ForeignKeyConstraint(['user_id'], ['users.id'], ),
  144. sa.PrimaryKeyConstraint('user_id', 'topic_id', 'forum_id')
  145. )
  146. op.create_table('topics',
  147. sa.Column('id', sa.Integer(), nullable=False),
  148. sa.Column('forum_id', sa.Integer(), nullable=False),
  149. sa.Column('title', sa.String(length=255), nullable=False),
  150. sa.Column('user_id', sa.Integer(), nullable=True),
  151. sa.Column('username', sa.String(length=200), nullable=False),
  152. sa.Column('date_created', sa.DateTime(), nullable=True),
  153. sa.Column('last_updated', sa.DateTime(), nullable=True),
  154. sa.Column('locked', sa.Boolean(), nullable=True),
  155. sa.Column('important', sa.Boolean(), nullable=True),
  156. sa.Column('views', sa.Integer(), nullable=True),
  157. sa.Column('post_count', sa.Integer(), nullable=True),
  158. sa.Column('first_post_id', sa.Integer(), nullable=True),
  159. sa.Column('last_post_id', sa.Integer(), nullable=True),
  160. sa.ForeignKeyConstraint(['first_post_id'], ['posts.id'], ondelete='CASCADE'),
  161. sa.ForeignKeyConstraint(['forum_id'], ['forums.id'], name='fk_topic_forum_id', use_alter=True),
  162. sa.ForeignKeyConstraint(['last_post_id'], ['posts.id'], ),
  163. sa.ForeignKeyConstraint(['user_id'], ['users.id'], ),
  164. sa.PrimaryKeyConstraint('id')
  165. )
  166. op.create_table('reports',
  167. sa.Column('id', sa.Integer(), nullable=False),
  168. sa.Column('reporter_id', sa.Integer(), nullable=False),
  169. sa.Column('reported', sa.DateTime(), nullable=True),
  170. sa.Column('post_id', sa.Integer(), nullable=False),
  171. sa.Column('zapped', sa.DateTime(), nullable=True),
  172. sa.Column('zapped_by', sa.Integer(), nullable=True),
  173. sa.Column('reason', sa.Text(), nullable=True),
  174. sa.ForeignKeyConstraint(['post_id'], ['posts.id'], ),
  175. sa.ForeignKeyConstraint(['reporter_id'], ['users.id'], ),
  176. sa.ForeignKeyConstraint(['zapped_by'], ['users.id'], ),
  177. sa.PrimaryKeyConstraint('id')
  178. )
  179. op.create_table('forums',
  180. sa.Column('id', sa.Integer(), nullable=False),
  181. sa.Column('category_id', sa.Integer(), nullable=False),
  182. sa.Column('title', sa.String(length=255), nullable=False),
  183. sa.Column('description', sa.Text(), nullable=True),
  184. sa.Column('position', sa.Integer(), nullable=False),
  185. sa.Column('locked', sa.Boolean(), nullable=False),
  186. sa.Column('show_moderators', sa.Boolean(), nullable=False),
  187. sa.Column('external', sa.String(length=200), nullable=True),
  188. sa.Column('post_count', sa.Integer(), nullable=False),
  189. sa.Column('topic_count', sa.Integer(), nullable=False),
  190. sa.Column('last_post_id', sa.Integer(), nullable=True),
  191. sa.Column('last_post_title', sa.String(length=255), nullable=True),
  192. sa.Column('last_post_user_id', sa.Integer(), nullable=True),
  193. sa.Column('last_post_username', sa.String(length=255), nullable=True),
  194. sa.Column('last_post_created', sa.DateTime(), nullable=True),
  195. sa.ForeignKeyConstraint(['category_id'], ['categories.id'], ),
  196. sa.ForeignKeyConstraint(['last_post_id'], ['posts.id'], ),
  197. sa.ForeignKeyConstraint(['last_post_user_id'], ['users.id'], ),
  198. sa.PrimaryKeyConstraint('id')
  199. )
  200. ### end Alembic commands ###
  201. def downgrade():
  202. ### commands auto generated by Alembic - please adjust! ###
  203. op.drop_table('forums')
  204. op.drop_table('reports')
  205. op.drop_table('topics')
  206. op.drop_table('topicsread')
  207. op.drop_table('privatemessages')
  208. op.drop_table('posts')
  209. op.drop_table('moderators')
  210. op.drop_table('forumsread')
  211. op.drop_table('groups_users')
  212. op.drop_table('topictracker')
  213. op.drop_table('users')
  214. op.drop_table('settings')
  215. op.drop_table('settingsgroup')
  216. op.drop_table('categories')
  217. op.drop_table('groups')
  218. ### end Alembic commands ###