Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python
Войти
Регистрация
Восстановить пароль
 
druidich
30 / 30 / 12
Регистрация: 21.05.2012
Сообщений: 445
1

SqlAlchemy не созданет бд

23.12.2015, 17:36. Просмотров 420. Ответов 6
Метки нет (Все метки)

Добрый день. вот никак понять не могу, почему то у меня скрипт не создает бд.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
from flask.ext.sqlalchemy import SQLAlchemy
from werkzeug.security import generate_password_hash, check_password_hash
from flask.ext.login import UserMixin
from flask import current_app
from app import login_manager
from itsdangerous import TimedJSONWebSignatureSerializer as Seriliazer
 
import os
 
basedir = os.path.abspath(os.path.dirname(__file__))
SQLALCHEMY_MIGRATE_REPO = os.path.join(basedir, 'db_repository')
SQLALCHEMY_COMMIT_ON_TEARDOWN = True
SQLALCHEMY_TRACK_MODIFICATIONS = True
SQLALCHEMY_DATABASE_URI = os.environ.get('DEV_DATABASE_URL') or 'sqlite:///' + os.path.join(basedir, 'data.db')
db = SQLAlchemy()
 
 
class Role(db.Model):
    __tablename__ = 'roles'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=True)
    users = db.relationship('User', backref='role', lazy='dynamic')
 
    def __repr__(self):
        return '<Role %r>' % self.name
 
 
class User(UserMixin, db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), unique=True, index=True)
    email = db.Column(db.String, unique=True, index=True)
    role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))
    password_hash = db.Column(db.String(128))
    confirmed = db.Column(db.Boolean, default=False)
 
    def __repr__(self):
        return '<User %r>' % self.username
 
    def generate_confirmation_token(self, explation=3600):
        s = Seriliazer(current_app.config['SECRET_KEY'], explation)
        return s.dumps({'confim': self.id})
 
    def confirm(self, token):
        s = Seriliazer(current_app.config['SECRET_KEY'])
        try:
            data = s.loads(token)
        except:
            return False
        if data.get('confirm') != self.id:
            return False
        self.confirmed = True
        db.Session.add(self)
        return True
 
    @property
    def password(self):
        raise AttributeError('password is not correct')
 
    @password.setter
    def password(self, password):
        self.password_hash = generate_password_hash(password)
 
    def verify_password(self, password):
        return check_password_hash(self.password_hash, password)
 
    @login_manager.user_loader
    def load_user(user_id):
        return User.query.get(int(user_id))
 
 
db.create_all()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2015, 17:36
Ответы с готовыми решениями:

SqlAlchemy FileField
Вообщем ищу реализацию FileType для Column в SqlAlchemy. Нигде не могу её...

Код транзакции в sqlalchemy
Можно ли узнать какой sql-запрос был выполнен средствами sqlalchemy (код...

Начало изучения SQLAlchemy
только начал изучать SQLAlchemy система: Win32 XP, Python 3.4,...

Не работает import sqlalchemy
Ребята, прошу помощи! Действую по имеющемуся скрипту: import sys import...

SQLAlchemy - как проверить подключение
Доброго времени. Подскажите пожалуйста, как можно проверить, создается ли...

6
askurandrio
Заблокирован
23.12.2015, 17:56 2
Вроде sqlalchemy не создает бд? Создай лучше БД сам и коннектись к ней
0
alex925
2671 / 2278 / 630
Регистрация: 19.03.2012
Сообщений: 8,830
23.12.2015, 17:57 3
Цитата Сообщение от askurandrio Посмотреть сообщение
Вроде sqlalchemy не создает бд?
Создает
0
druidich
30 / 30 / 12
Регистрация: 21.05.2012
Сообщений: 445
23.12.2015, 18:00  [ТС] 4
alex925, но что то ему не нравиться в
Python
1
db.create_all()

Не по теме:

db.create_all()
File "C:\Python35\lib\site-packages\flask_sqlalchemy\__init__.py", line 972, in create_all
self._execute_for_all_tables(app, bind, 'create_all')
File "C:\Python35\lib\site-packages\flask_sqlalchemy\__init__.py", line 949, in _execute_for_all_tables
app = self.get_app(app)
File "C:\Python35\lib\site-packages\flask_sqlalchemy\__init__.py", line 922, in get_app
raise RuntimeError('application not registered on db '
RuntimeError: application not registered on db instance and no application bound to current context

0
alex925
2671 / 2278 / 630
Регистрация: 19.03.2012
Сообщений: 8,830
23.12.2015, 18:07 5
druidich, ественно не нравится. Ты ведь главный объект приложения flask не создал. Тебе примеры посмотреть надо....
Ну и вообще это каша какая-то, а не приложение (создание базы в модели записано, конфиги тоже в модели и т д)....

http://habrahabr.ru/post/193242/
0
druidich
30 / 30 / 12
Регистрация: 21.05.2012
Сообщений: 445
09.01.2016, 07:33  [ТС] 6
alex925, я читал хабр.
в данный момент изучаю по оригиналу. ну вот не получается у меня с алхимией.
я скидываю весь свой проект. если не трудно, гляньте пожалуйста. я реально уже 2 недели не могу продолжить изучение, бд не создается (
0
Вложения
Тип файла: zip MySite.zip (108.4 Кб, 3 просмотров)
alex925
2671 / 2278 / 630
Регистрация: 19.03.2012
Сообщений: 8,830
09.01.2016, 07:45 7
druidich, У тебя большая часть проекта не правильная. Говорю ещё раз, скачай и внимательно посмотри пример проекта с хабра. Посмотри откуда, что там импортируется.
0
09.01.2016, 07:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2016, 07:45

Как создать БД посредством SqlAlchemy во Flask
Добрый день. так и не могу создать бд посредством SqlAlchemy :\ ошибка ...

Join нескольких таблиц в sqlalchemy по общему столбцу
У меня есть база данных Postgress с которой я работаю при помощи sqlalchemy. И...

Django + tastypie + SqlAlchemy
Есть модель базы from sqlalchemy import Column, Integer, String from...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru