-2
当我运行以下程序时,出现令人生厌的语法错误。以下是错误:Python SQLAlchemy语法错误
File "Create_the_database.py", line 64
^
SyntaxError: invalid syntax
下面是代码(长,但重复的那么容易脱脂):
import sqlalchemy
from sqlalchemy import *
engine = create_engine('sqlite:///Users/benscholz/Dropbox/OmniCloud/omnicloud/dev.db')
meta = MetaData()
createUsersTable()
createAccountsTable()
createPasswordsTable()
meta.bind = engine
meta.create_all(engine)
def createUsersTable():
print("creating User Table")
users = Table('users', metadata,
Column('id', Integer, primary_key = True),
Column('username', String, nullable = False),
Column('email_address', String, nullable = False),
Column('first_name', String),
Column('full_name', String),
Column('join_date', DateTime))
def createAccountsTable():
print("creating Accounts Table")
accounts = Table('accounts', metadata,
Column('user_id', ForeignKey('users.id')),
Column('facebook_username', String),
Column('email_username_1', String),
Column('email_username_2', String),
Column('email_username_3', String),
Column('email_username_4', String),
Column('email_username_5', String),
Column('twitter_username_1', String),
Column('twitter_username_2', String),
Column('twitter_username_3', String),
Column('klout_username', String),
Column('dropbox_username', String),
Column('box_username', String),
Column('flickr_username_1', String),
Column('flickr_username_2', String),
Column('instagram_username', String),
Column('disqus_username', String),
Column('stack_overflow_username', String))
def createPasswordsTable():
print("creating Passwords Table")
passwords = Table('passwords', metadata,
Column('user_id', ForeignKey('users.id')),
Column('facebook_pass', String),
Column('email_pass_1', String),
Column('email_pass_2', String),
Column('email_pass_3', String),
Column('email_pass_4', String),
Column('email_pass_5', String),
Column('twitter_pass_1', String),
Column('twitter_pass_2', String),
Column('twitter_pass_3', String),
Column('klout_pass', String),
Column('dropbox_pass', String),
Column('box_pass', String),
Column('flickr_pass_1', String),
Column('flickr_pass_2', String),
Column('instagram_pass', String),
Column('disqus_pass', String),
Column('stack_overflow_pass', String))
该计划是长64行,以便它似乎到达终点,并期望...什么?
换行符?制表符与空格?评论必须是十五个字符,所以这句话与我的评论完全无关。 –
为什么用这种方式创建具有函数的表?使用SQLAlchemy,您只需在顶层定义您的表。您将需要稍后从其他代码中引用它们。在这里,你的表格定义在超出范围时会消失。 – Keith
@Carl我只使用我的文本编辑器(巧克力)显示的标签设置为4个空格 – Chris