Найти - Пользователи
Полная версия: Подключение Postgres
Начало » Базы данных » Подключение Postgres
1
Sunny
Люди, пробую перейти с sqlite на Postgres. При работе с БД использую SQLAlchemy, по идее изменение типа БД влияет только на вид подключения и на докачку спецобработчика, но почему-то создавать таблицу он никак не хочет. Плиззз, скиньте какой-нить примерчик или ссылочку.

Текст выглядит так.

from sqlalchemy import *

metadata = MetaData()

# a table to store users
users = Table('users', metadata,
Column('user_id', Integer, primary_key = True),
Column('user_name', String(40)),
Column('password', String(80))
)

# a table that stores mailing addresses associated with a specific user
addresses = Table('addresses', metadata,
Column('address_id', Integer, primary_key = True),
Column('user_id', Integer, ForeignKey(“users.user_id”)),
Column('street', String(100)),
Column('city', String(80)),
Column('state', String(2)),
Column('zip', String(10))
)

engine = create_engine('postgres://postgres:1111@localhost/C:/detals', echo=True)
##### для sqlite такакя формулировка работала на ура
## self.engine = create_engine('sqlite://localhost/C:/detals', echo=True)

metadata.create_all(engine)
metadata.connect(engine)
pythonwin
Sunny
engine = create_engine('postgres://postgres:1111@localhost/C:/detals', echo=True)
а зачем прописываешь путь?
пример:
postgres://postgres@localhost/testDB
Sunny
А кроме psycopg2 и самого Postgre нужно что-то ставить. Он у меня выдаёт ошибку при создании таблиц - говорит что пароль не передан.
pythonwin
пароль, то правильно указываешь в конфигах?
postgres://user:password@host:port/tdatabase
Sunny
я ввожу имя и пароль обычного юзера
engine = create_engine('postgres://User:zxcvbn@localhost/testDB', echo=True),
а выдаёт он:
ошибка - database “testDB” does not exist
строка - metadata.create_all(engine)
PooH
Sunny
я ввожу имя и пароль обычного юзера
engine = create_engine('postgres://User:zxcvbn@localhost/testDB', echo=True),
а выдаёт он:
ошибка - database “testDB” does not exist
строка - metadata.create_all(engine)
ну так базу то testDB, в которой будет создана таблица надо сначала создать на сервере
pythonwin
createdb testDB -U пользователь -E=кодировка # UTF8 например
Sunny
упс, только теперь понимаю насколько глупый был вопрос. Но всё равно всем большоооое спасибо. просто после элементарной работы с SQlite принципы работы Postgre сразу не воспринимаются.
Я не волшебник я только учусь :)
pythonwin
Sunny
Я не волшебник я только учусь :)
Удачи!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB