Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 6, 2007 16:08:21

Sunny
От:
Зарегистрирован: 2007-06-15
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Подключение Postgres

Люди, пробую перейти с 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)



Офлайн

#2 Авг. 7, 2007 07:51:06

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Подключение Postgres

Sunny
engine = create_engine('postgres://postgres:1111@localhost/C:/detals', echo=True)
а зачем прописываешь путь?
пример:
postgres://postgres@localhost/testDB



Офлайн

#3 Авг. 7, 2007 10:23:51

Sunny
От:
Зарегистрирован: 2007-06-15
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Подключение Postgres

А кроме psycopg2 и самого Postgre нужно что-то ставить. Он у меня выдаёт ошибку при создании таблиц - говорит что пароль не передан.



Офлайн

#4 Авг. 7, 2007 11:38:25

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Подключение Postgres

пароль, то правильно указываешь в конфигах?

postgres://user:password@host:port/tdatabase



Офлайн

#5 Авг. 7, 2007 12:26:06

Sunny
От:
Зарегистрирован: 2007-06-15
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Подключение Postgres

я ввожу имя и пароль обычного юзера
engine = create_engine('postgres://User:zxcvbn@localhost/testDB', echo=True),
а выдаёт он:
ошибка - database “testDB” does not exist
строка - metadata.create_all(engine)



Офлайн

#6 Авг. 7, 2007 12:44:10

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Подключение Postgres

Sunny
я ввожу имя и пароль обычного юзера
engine = create_engine('postgres://User:zxcvbn@localhost/testDB', echo=True),
а выдаёт он:
ошибка - database “testDB” does not exist
строка - metadata.create_all(engine)
ну так базу то testDB, в которой будет создана таблица надо сначала создать на сервере



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#7 Авг. 7, 2007 12:58:10

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Подключение Postgres

createdb testDB -U пользователь -E=кодировка # UTF8 например



Офлайн

#8 Авг. 7, 2007 13:04:54

Sunny
От:
Зарегистрирован: 2007-06-15
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Подключение Postgres

упс, только теперь понимаю насколько глупый был вопрос. Но всё равно всем большоооое спасибо. просто после элементарной работы с SQlite принципы работы Postgre сразу не воспринимаются.
Я не волшебник я только учусь :)



Офлайн

#9 Авг. 7, 2007 13:06:47

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Подключение Postgres

Sunny
Я не волшебник я только учусь :)
Удачи!



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version