Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TABLE Users (
- UserID int AUTO_INCREMENT,
- Name varchar(200) NOT NULL,
- Email varchar(200),
- Username varchar(200) NOT NULL,
- Password text NOT NULL,
- Created datetime,
- Updated datetime,
- PRIMARY KEY (UserID)
- );
- CREATE TABLE UsersAccessLevels (
- UsersAccessLevelID int AUTO_INCREMENT,
- LevelName varchar(100) NOT NULL,
- AccessDescription text,
- PRIMARY KEY (UsersAccessLevelID)
- );
- CREATE TABLE UsersAccessMapping (
- UsersAccessMappingID int AUTO_INCREMENT,
- UserID int NOT NULL,
- UsersAccessLevelID int NOT NULL,
- PRIMARY KEY (UsersAccessMappingID)
- CONSTRAINT fk_useraccess FOREIGN KEY (UserID)
- REFERENCES Users(UserID) ON DELETE CASCADE
- CONSTRAINT fk_useraccess_level FOREIGN KEY (UsersAccessLevelID)
- REFERENCES UsersAccessLevels(UsersAccessLevelID) ON DELETE CASCADE
- );
- from app import db
- class Users(db.Model):
- """All users' information is stored here"""
- __tablename__ = "Users"
- UserID = db.Column(db.Integer(), primary_key=True)
- Name = db.Column(db.String(200), nullable=False)
- Email = db.Column(db.String(200))
- Username = db.Column(db.String(200), nullable=False)
- Password = db.Column(db.Text, nullable=False)
- Created = db.Column(db.DateTime)
- Updated = db.Column(db.DateTime)
- class UsersAccessLevels(db.Model):
- """This defines the various access levels users can have"""
- __tablename__ = "UsersAccessLevels"
- UsersAccessLevelID = db.Column(db.Integer, primary_key=True)
- LevelName = db.Column(db.String(100), nullable=False)
- AccessDescription = db.Column(db.Text)
- class UsersAccessMapping(db.Model):
- """Each users' access level is defined here"""
- __tablename__ = "UsersAccessMapping"
- UsersAccessMappingID = db.Column(db.Integer, primary_key=True)
- UserID = db.Column(db.Integer, nullable=False)
- UsersAccessLevelID = db.Column(db.Integer, nullable=False)
- __table_args__ = (
- db.ForeignKeyConstraint(
- ["fk_useraccess", "fk_useraccess_level"],
- ["Users.UserID", "UsersAccessLevels.UsersAccessLevelID"],
- ondelete="CASCADE"
- )
- )
- File "/srv/vortech-backend/venv/lib/python3.5/site-packages/sqlalchemy/ext/declarative/base.py", line 196, in _scan_attributes
- "__table_args__ value must be a tuple, "
- sqlalchemy.exc.ArgumentError: __table_args__ value must be a tuple, dict, or None
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement